Skip to main content

Hydration Decision Logic

Archibald chooses between Hydration (reattaching to existing HTML) and Rendering (creating new DOM) based on the presence of the data-arc-hydrated attribute (the HYDRATION_MARKER constant from @archibald/core).

The Full Page Reload Lifecycle

Key Differences

FeatureHydrate Mode (SSR Success)Render Mode (Client-Only / Fallback)
Initial HTMLFull meaningful markupEmpty shell or loading spinner
React MethodhydrateRoot(container, <App />)createRoot(container).render(<App />)
PerformanceInstant visibility, delayed interactionDelayed visibility, instant interaction
Island LogicReuses DOM nodes, attaches listenersGenerates new DOM nodes
Triggerdata-arc-hydrated="false" found on rootMarker missing or set to "true"