😸React Router v6 在建立的 Router 的方式有一點不一樣,這次任務將帶大家來練習寫寫看!
const router = createBrowserRouter([
{
path: "/",
element: <div>Hello world!</div>,
},
]);
RouterProvider
function Nav() {
return (
<div>
<RouterProvider router={router}></RouterProvider>
</div>
);
}
export default Nav;
這邊會使用 DAY23 所練習的程式碼來改寫
routes,會以陣列的形式放置其內容,一個{..} 代表一個項目path:React 要生成的 URLelement:React 要渲染的元件或元素errorElement:當發生不存在的頁面時,要渲染的元件或元素children:設定後代表為子路由,他一樣會有 path、element等屬性routes 建立完成後,把 routes 傳入 createBrowserRouter()方法中<RouterProvider router={router}></RouterProvider> 方式渲染// Nav.js
import * as React from "react";
import { createBrowserRouter, RouterProvider } from "react-router-dom";
import HomePage from "./HomePage";
import ProductPage from "./ProductPage";
const routes = [
{
path: "/",
element: <HomePage />,
errorElement: <h1>此頁面不存在R!</h1>
},
{
path: "/productList",
element: <ProductPage />,
children: [
{
path: "products/:productId"
}
]
}
// 繼續建立其他路由
];
const router = createBrowserRouter(routes);
function Nav() {
return (
<div>
<RouterProvider router={router}></RouterProvider>
</div>
);
}
export default Nav;
感覺更好懂了?對吧?…下個任務見!