32
React Server Components

React Server Components

Learn the biggest shift React has made in a decade. Nine lessons on Server Components, the 'use client' boundary, server actions, and streaming.

~ 145 min·9 lessons·updated apr 2026

What you'll learn


Lessons

Read in order. Each lesson stands on its own, but the order is deliberate.

9 lessons · ~140 min total

  1. 01
    The two-runtime model
    Two places code can run, one app. Server Components live on the server; Client Components live in the browser. Each side has different powers.
    15 min
  2. 02
    'use client'
    The directive that draws the line. What crosses the boundary, what costs it carries, and where to put it.
    17 min
  3. 03
    Reading data in a Server Component
    Components that are async functions. Awaiting a fetch inside render, with no useEffect, no loading flag, no spinner-by-hand.
    16 min
  4. 04
    Composition across the boundary
    Passing a Server Component as a child of a Client Component. The pattern that lets server data sit inside interactive shells.
    16 min
  5. 05
    'use server' and Server Actions
    Functions that run on the server, called from a button on the client. How the bundler splits the file in two.
    17 min
  6. 06
    Server Actions end-to-end
    From a form submit to a database write to a re-rendered list. Revalidation, the missing step that ties it together.
    16 min
  7. 07
    Caching and revalidation, in React's terms
    What React caches, what the framework caches, and how the two layers cooperate. Names you'll see and what they mean.
    15 min
  8. 08
    Streaming and Suspense on the server
    A page that flushes piece by piece. Suspense boundaries become network boundaries when the server is doing the rendering.
    15 min
  9. 09
    What can't go in a Server Component
    useState, useEffect, onClick, window — the things that fail with confusing errors, and the 'use client' reflex that fixes them.
    13 min

Prerequisites

  • · Finished React Suspense & Transitions and React Forms & Actions
  • · Comfortable awaiting a fetch in JavaScript
  • · Have used or seen Next.js routing once

After this, try