<RouterProvider>
declare function RouterProvider(
props: RouterProviderProps
): React.ReactElement;
interface RouterProviderProps {
fallbackElement?: React.ReactNode;
router: Router;
future?: Partial<FutureConfig>;
}
所有 数据路由器 对象都传递到此组件以渲染您的应用程序并启用其余数据 API。
import {
createBrowserRouter,
RouterProvider,
} from "react-router-dom";
const router = createBrowserRouter([
{
path: "/",
element: <Root />,
children: [
{
path: "dashboard",
element: <Dashboard />,
},
{
path: "about",
element: <About />,
},
],
},
]);
ReactDOM.createRoot(document.getElementById("root")).render(
<RouterProvider
router={router}
fallbackElement={<BigSpinner />}
/>
);
fallbackElement
如果您没有服务器渲染应用程序,createBrowserRouter
将在挂载时启动所有匹配的路由加载器。在此期间,您可以提供一个 fallbackElement
来向用户提供一些应用程序正在运行的指示。让静态托管 TTFB 计数!
<RouterProvider
router={router}
fallbackElement={<SpinnerOfDoom />}
/>
future
一组可选的 未来标志 要启用。我们建议您尽早选择新发布的未来标志,以简化您最终迁移到 v7 的过程。
function App() {
return (
<RouterProvider
router={router}
future={{ v7_startTransition: true }}
/>
);
}