使用React Router v6 渲染不同版面/元素的元件
在React Router v6 中,可以實現渲染不同版面或元素的元件使用嵌套路由或使用useRoutes進行路由配置
嵌套路由
渲染
const AppLayout = () => ( <> <NavBar /> <SideBar /> <main className={styles["main--container"]}> <div className={styles["main--content"]}> <Outlet /> </div> </main> </> ); const App = () => { return ( <> <Routes> <Route path="/login" element={<LoginPage />} /> <Route element={<AppLayout />}> <Route path="/" element={<Dashboard />} /> </Route> </Routes> </> ); };
路由配置和useRoutes Hook
或者,使用路由配置和useRoutes 掛鉤來定義您的路由:
const routesConfig = [ { path: "/login", element: <LoginPage />, }, { element: <AppLayout />, children: [ { path: "/", element: <Dashboard />, }, ], }, ]; import { useRoutes } from 'react-router-dom'; const App = () => { const routes = useRoutes(routesConfig); return routes; };
路由設定和資料路由器(僅限v6.4.0)
從 React Router v6.4.0 開始,您也可以使用資料路由器來定義您的路線:
const routesConfig = [ { path: "/login", element: <LoginPage />, }, { element: <AppLayout />, children: [ { path: "/", element: <Dashboard />, }, ], }, ]; import { createBrowserRouter, RouterProvider } from 'react-router-dom'; const router = createBrowserRouter(routesConfig); const App = () => { return <RouterProvider router={router} />; };
以上是如何在 React Router v6 中渲染不同的佈局?的詳細內容。更多資訊請關注PHP中文網其他相關文章!