hydrateFallbackElement
如果您正在使用 服务器端渲染 并且您正在利用 部分水合,那么您可以在应用程序的初始水合期间为未水合的路由指定一个要渲染的元素/组件。
hydrateFallbackElement={<MyFallback />}
),您可以改为指定 HydrateFallback
组件(例如,HydrateFallback={MyFallback}
),React Router 会在内部为您调用 createElement
。
let router = createBrowserRouter(
[
{
id: "root",
path: "/",
loader: rootLoader,
Component: Root,
children: [
{
id: "invoice",
path: "invoices/:id",
loader: loadInvoice,
Component: Invoice,
HydrateFallback: InvoiceSkeleton,
},
],
},
],
{
future: {
v7_partialHydration: true,
},
hydrationData: {
root: {
/*...*/
},
// No hydration data provided for the `invoice` route
},
}
);
null
,因此建议您始终提供自己的回退元素。