Relay: Efficiently Fetch Data in React Applications Training Course


Relay is a JavaScript framework for building data-driven React applications. GraphQL is a data querying language for describing complex, nested data dependencies in modern applications. Together they allow an application’s components to be moved anywhere in a render hierarchy without having to apply a cascade of modifications to parent components or to the server code which prepares the data payload. Relay is being used by Facebook in various mobile app projects.

In this instructor-led, live training, participants will learn how to apply key Relay concepts such as declarative specification of data dependencies, collocation and mutation to build a React application using Relay and GraphQL.

By the end of this training, participants will be able to:

  • Use Relay to compose data queries into efficient batches, provide each component with exactly the data that it requested, update the components when the data changes, and maintain a client-side store (cache) of all data.
  • Collocate queries and the view’s code to more easily reason about a components functionality
  • Use GraphQL to declare data requirements while allowing Relay to fetch the data on its own
  • Understand the concept of mutating data on the client and server using GraphQL mutations
  • Understand the differences between Relay and Flux, in particular how “mutations” implement the concept of actions and modifications
  • Use routes to determine which data to fetch to render a given component
  • Make changes in relative isolation, even in large team projects
  • Create correct, high-performance applications in a straightforward and obvious way


  • Developers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice


  • Experience developing applications with Javascript, HTML, and CSS
  • A general understanding of React application development
  • An understanding of database concepts

Course Outline


Overview of Relay and GraphQL

Preparing the Development Environment

Preparing a Sample Application

Composing a Data Query

Collocating Queries

Declaring Data Requirements

Mutating data


Authenticating Users

Updating Data in Realtime

Implementing Pagination

Testing the Application

Debugging the Application

Deploying the Application


Summary and Conclusion

Leave a Reply

Your email address will not be published. Required fields are marked *