Neverending Pun Machine

    relay-decorators

    0.2.0 • Public • Published

    relay-decorators npm

    Utility decorators for Relay components.

    Discord

    Guide

    Installation

    $ npm install relay-decorators

    @poll(interval)

    The @poll decorator sets up a wrapper component that uses setInterval to repeatedly call props.relay.forceFetch at a fixed interval (specified in milliseconds). This is not an ideal way to get updating data from a GraphQL server, but is convenient if you don't have proper subscriptions.

    import React from 'react';
    import Relay from 'react-relay';
    import poll from 'relay-decorators/lib/poll';
     
    // type Widget {
    //   size: Int
    // }
     
    @poll(1000) // Poll every second.
    class WidgetSize extends React.Component {
      static propTypes = {
        widget: React.PropTypes.object.isRequired,
      };
     
      render() {
        return (
          <div>The current widget size is: {this.props.widget.size}.</div>
        );
      }
    }
     
    export default Relay.createContainer(WidgetSize, {
      fragments: {
        widget: () => Relay.QL`
          fragment on Widget {
            size
          }
        `,
      },
    });

    If a polling component has a parent with the same poll interval, the @poll decorator will coalesce the poll timeouts to enable the queries to be batched.

    Install

    npm i relay-decorators

    DownloadsWeekly Downloads

    127

    Version

    0.2.0

    License

    MIT

    Last publish

    Collaborators

    • taion