recompose-relay

Recompose helpers for Relay.

Usage no npm install needed!

<script type="module">
  import recomposeRelay from 'https://cdn.skypack.dev/recompose-relay';
</script>

README

recompose-relay

npm version

Recompose helpers for Relay.

npm install --save recompose-relay

API

createContainer()

createContainer(
  specification: Object,
  BaseComponent: ReactElementType
): ReactElementType

A curried, component-last version of Relay.createContainer(). This makes it composable with other Recompose helpers.

If the base component is not a class component, it is converted to one using toClass(). This allows Relay to add a ref to the base component without causing React to print a warning. (Function components cannot have refs.) This behavior will be removed once Relay updates to support function components.

Tip: Use flattenProp() in combination with createContainer() to flatten fragment props:

const Post = compose(
  createContainer({
    fragments: {
      post: () => Relay.QL`
        fragment on Post {
          title,
          content,
          author {
            name
          }
        }
      `
    }
  }),
  flattenProp('post')
)(({ title, content, author }) => (
  <article>
    <h1>{title}</h1>
    <h2>By {author.name}</h2>
    <div>{content}</div>
  </article>
));