<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 }}
/>
);
}