Partial Hydration — rendering optimisation: instead of loading + hydrating the entire React app, hydrate only components that need client-side interactivity. Zero JS for static read-only blocks. Implementations: Islands (Astro), RSC (Next.js), Resumability (Qwik), Progressive Hydration (Marko).
Below: details, example, related terms, FAQ.
// Astro — client directives
<StaticHero /> {/* zero JS */}
<LikeButton client:load /> {/* hydrate immediately */}
<Comments client:visible /> {/* hydrate when scrolled to */}
<CartModal client:media="(max-width: 768px)" /> {/* mobile only */}You download 200 KB React + 50 KB your code, execute it all, re-render server HTML. TBT huge on mobile.
Instead of hydration — serialise closures in HTML attributes, lazy-load on event. Zero initial JS for complex apps.
Lighthouse Speed Index + TBT. Partial hydration cuts from 3s → 0.3s on a typical blog.