docs/explanation/hydration.md
There are a few nuances worth noting around the behavior of HydrateFallback:
clientLoader.hydrate=true][hydrate-true] on a given routeclientLoader without a server loader, as this implies clientLoader.hydrate=true since there is otherwise no loader data at all to return from useLoaderData
HydrateFallback in this case, React Router will not render your route component and will bubble up to any ancestor HydrateFallback componentuseLoaderData remains "happy-path"loader, useLoaderData would return undefined in any rendered route components<Outlet/> in a HydrateFallback because children routes can't be guaranteed to operate correctly since their ancestor loader data may not yet be available if they are running clientLoader functions on hydration (i.e., use cases such as useRouteLoaderData() or useMatches())