0.2.0 • Published 10 years ago

relay-decorators v0.2.0

Weekly downloads
175
License
MIT
Repository
github
Last release
10 years ago

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.

0.2.0

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago