Summary
Only interactive subtrees hydrate; static HTML stays inert — reduces JS execution at load. Differs from full hydration and progressive enhancement. Framework must not ship client bundle for static regions. Pair with 2.7 Selective hydration.
Code example
// Static shell — no hydration
const staticHtml = renderToString(<Article body={markdown} />);
// Interactive island only
hydrateRoot(document.querySelector('#comments'), <CommentForm />);
Key points
- Only interactive subtrees hydrate; static HTML stays inert — reduces JS execution at load.
- Differs from full hydration and progressive enhancement.
- Framework must not ship client bundle for static regions.
- Pair with 2.7 Selective hydration.