Relay

Relay is a JavaScript framework for building data-driven React applications...

README

Relay · GitHub license npm version


Relay is a JavaScript framework for building data-driven React applications.

Declarative: Never again communicate with your data store using an imperative API. Simply declare your data requirements using GraphQL and let Relay figure out how and when to fetch your data.
Colocation: Queries live next to the views that rely on them, so you can easily reason about your app. Relay aggregates queries into efficient network requests to fetch only what you need.
Mutations: Relay lets you mutate data on the client and server using GraphQL mutations, and offers automatic data consistency, optimistic updates, and error handling.


Example


The relay-examples repository contains an implementation of TodoMVC. To try it out:

  1. ```
  2. git clone https://github.com/relayjs/relay-examples.git
  3. cd relay-examples/todo
  4. yarn
  5. yarn build
  6. yarn start
  7. ```

Then, just point your browser at http://localhost:3000.

Contribute


We actively welcome pull requests, learn how to contribute.

Users


We have a community-maintained list of people and projects using Relay in production.

License


Relay is MIT licensed.

Thanks


We'd like to thank the contributors that helped make Relay in open source possible.

The open source project [relay-hooks](https://github.com/relay-tools/relay-hooks) allowed the community to experiment with Relay and React Hooks, and was a source of valuable feedback for us. The idea for the useSubscription hook originated in an issue on that repo. Thank you @morrys for driving this project and for playing such an important role in our open source community.

Thank you for helping make this possible!