Preact now supports seamless progressive hydration.
Any component can throw during hydration (or new tree creation like a route change!), and if a component somewhere
higher in the tree catches that via componentDidCatch
, hydration gets paused.
Re-rendering the tree (via setState, etc) simply resumes hydration where it left off.