- 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.
Learn how to use Relay in your own project.
The relay-examples repository contains an implementation of TodoMVC. To try it out:
git clone https://github.com/relayjs/relay-examples.git
cd relay-examples/todo && npm install
Then, just point your browser at
We actively welcome pull requests, learn how to contribute.
We have a community-maintained list of people and projects using Relay in production.
Relay is BSD licensed. We also provide an additional patent grant.