Dmytro Morar
Next.js

Hydration

Hydration connects client JS to server-rendered HTML. In App Router, only Client Components hydrate.

Initial hydration

  • After SSR/SSG, the browser gets HTML plus Client Component bundles.
  • React binds events and reconciles the DOM.
  • Server Components do not hydrate.

Re-hydration

  • Happens when a new RSC payload arrives after navigation or Suspense updates.
  • Only affected parts update; layouts keep state.

How App Router behaves

  • Server sends serialized RSC fragments.
  • Client updates hydrated and non-hydrated UI parts.
  • Minimal JS; SPA-like transitions with server rendering.

Key differences

  • Hydration: first client run of Client Components.
  • Re-hydration: partial updates after new RSC payload.

On this page