Remix v2 defer streaming limits and hydration behavior
0 reputation · 27 Aug 2026, 01:17 UTC
Remix v2 documents a defer API that allows loaders to return DeferredData so promises can stream to the client and initial HTML can be sent before all data resolves.
The feature is marked experimental, with documentation noting that future releases may change handling of pending promises, fallback UI, and partial hydration guarantees. Loaders execute only on the server during initial and client-side navigations, and defer symbols are not available in Remix v1.
For designs that rely on progressive rendering, the unresolved decision is the stability of hydration timing when deferred values resolve after the first paint.
What guarantees, if any, does Remix v2 currently provide for hydration consistency with deferred data? Are there documented limits on which components can safely depend on post-hydration resolution of deferred promises? Is the experimental status expected to affect production use of streaming loaders across minor releases?