hydrate: 'none'

Lakes

A lake is hydration switched off again, inside an island. Same declaration, opposite polarity. The frozen subtree ships as HTML with none of its JavaScript.

The card below is one hydrated island. Its counter and toggle work. Nested inside it is a lake — the framed panel — whose own button never increments, because its component code is in no client chunk. The runtime lifts the lake's SSR DOM out before the parent hydrates and restores it after. The accent button inside the lake is a separate island that self-hydrates: frozen water can contain live land.

Use the toggle to remove and re-add the lake. This site's vite config leaves lake_restore at its default ('cache'), so the frozen DOM is re-inserted from cache.

interactive island (hydrated)
0
frozen lake · 0 KB JS

This markup is server-rendered and left untouched. Its button never increments.

island authored inside the lake (self-hydrates):