Relay
JavaScript framework for building data-driven React applications
...Relay's compiler aggregates and optimizes the data requirements for your entire app, so that they can be efficiently fetched in a single GraphQL request. Relay handles the heavy lifting to ensure the data declared by your components is fetched in the most efficient way. For example, by deduplicating identical fields, and precomputing information used at runtime, among other optimizations. Relay also supports executing GraphQL Mutations, optionally with optimistic updates, and updates to local data.