← Explore learning paths

For React developers

Mastering Relay

Understand Relay's data model, fragments, mutations, and pagination when building GraphQL applications.

32 lessons ready to readFree to readLearn at your own pace
Read the first lesson → Sign in to track your progress →
01 / READ

Start with a lesson that meets you where you are.

02 / PRACTICE

Try questions to check what you understand.

03 / RETURN

Sign in to keep your practice progress together.

Lessons

32 of 58 topics have lessons available today. Choose any available lesson.

  1. 01

    Stop Thinking in Queries (Think in Fragments)

    Read the lesson, then try the practice.

  2. 02

    Fragments as Composition Units

    Read the lesson, then try the practice.

  3. 03

    Fragment Colocation Principle

    Read the lesson, then try the practice.

  4. 04

    Composing Fragment Trees

    Read the lesson, then try the practice.

  5. 05

    Data Masking Architecture

    Read the lesson, then try the practice.

  6. 06

    Parent-Child Data Boundaries

    Read the lesson, then try the practice.

  7. 07

    Enforced Component Contracts

    Read the lesson, then try the practice.

  8. 08

    Breaking the Masking Rules

    Read the lesson, then try the practice.

  9. 09

    Identity and Cache Truth

    Read the lesson, then try the practice.

  10. 10

    Global Object Identification

    Read the lesson, then try the practice.

  11. 11

    Node Interface Requirements

    Read the lesson, then try the practice.

  12. 12

    Normalization and Cache Mechanics

    Read the lesson, then try the practice.

  13. 13

    Reading Data the Relay Way

    Read the lesson, then try the practice.

  14. 14

    Fragment Consumption Patterns

    Read the lesson, then try the practice.

  15. 15

    useFragment for Components

    Read the lesson, then try the practice.

  16. 16

    useLazyLoadQuery for Routes

    Read the lesson, then try the practice.

  17. 17

    usePreloadedQuery Pattern

    Read the lesson, then try the practice.

  18. 18

    Refetchable Fragments

    Read the lesson, then try the practice.

  19. 19

    Writing Data Without Chaos

    Read the lesson, then try the practice.

  20. 20

    Mutation Strategies

    Read the lesson, then try the practice.

  21. 21

    Declarative Mutation Configs

    Read the lesson, then try the practice.

  22. 22

    Optimistic Updates Done Right

    Read the lesson, then try the practice.

  23. 23

    Lists, Scale, and Reality

    Read the lesson, then try the practice.

  24. 24

    Connection Specification

    Read the lesson, then try the practice.

  25. 25

    Pagination Invariants

    Read the lesson, then try the practice.

  26. 26

    usePaginationFragment Hook

    Read the lesson, then try the practice.

  27. 27

    Advanced Patterns

    Read the lesson, then try the practice.

  28. 28

    Suspense and Concurrent Rendering

    Read the lesson, then try the practice.

  29. 29

    Suspense Boundaries Placement

    Read the lesson, then try the practice.

  30. 30

    Error Handling Architecture

    Read the lesson, then try the practice.

  31. 31

    Performance Mental Models

    Read the lesson, then try the practice.

  32. 32

    Apollo brain vs Relay brain

    Read the lesson, then try the practice.

Topics without lessons yet

These are part of the outline. Lessons are not available for them yet.

  • Type Safety Guarantees
  • ID Encoding Strategies
  • Identity Across Boundaries
  • Flat Record Storage
  • Automatic Update Propagation
  • When Identity Breaks
  • useRefetchableFragment Hook
  • Pagination Refetch Patterns
  • Colocation vs Prop Drilling
  • Imperative Store Updaters
  • Reading and Writing Store
  • Optimistic Response Shapes
  • Rollback Mechanics
  • Server Authority Principle
  • Edges and Nodes Structure
  • PageInfo Contract
  • Cursor Pagination Logic
  • Connection Stability
  • Why Relay Hates Arrays
  • Transitions with useTransition
  • Streaming and Incremental Delivery
  • Query Error Boundaries
  • Mutation Error Handling
  • Subscription and Re-render Rules
  • Store Subscription Optimization
  • Request Deduplication