Relay
Relay is data-fetching turned declarative. Components declare their data dependencies, without worrying about how to fetch them. Relay guarantees that the data each component needs is fetched and available. This keeps components decoupled and promotes reuse. With Relay, components and their data dependencies can be quickly modified without modifying other parts of the system.