0PricingLogin
React Academy · Lesson

React 18 Streaming: How renderToPipeableStream Works

Understand how renderToPipeableStream progressively flushes HTML chunks before all async data resolves.

Before React 18: The Synchronous Bottleneck

Before React 18, server-side rendering used renderToString, which is synchronous: React renders the entire component tree to a string before sending any HTML to the browser. If any component loads data, the server must wait for all data before the first byte reaches the user.

React 18: renderToPipeableStream

React 18 introduced renderToPipeableStream, which renders the component tree as a stream of HTML chunks. Instead of waiting for everything to be ready, React sends HTML as it completes each part of the tree, allowing the browser to start rendering visible content immediately.

All lessons in this course

  1. React 18 Streaming: How renderToPipeableStream Works
  2. Suspense Boundaries and Streaming Priority
  3. Progressive Hydration with Selective Hydration
  4. Measuring Streaming Impact: FCP, TTI, and LCP
← Back to React Academy