iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0
SideProject30

30 天大冒險:新手勇闖 React 大秘境系列 第 26

DAY 26 - React Router 中的 Hook

  • 分享至 

  • xImage
  •  

⭐任務說明

React Router 也有提供 Hook!讓我們一起來看看!

簡單介紹

useParams

  • URL 中傳回與 Route path 相符的動態參數的物件,其中子路由會繼承父路由的所有參數。

  • 上一個任務中的程式碼中就有使用到

    • router 的部份,會以 : 為開頭代碼資料是動態傳入
const routes = [
  {
    path: "/",
    element: <HomePage />,
    errorElement: <h1>此頁面不存在R!</h1>
  },
  {
    path: "/productList",
    element: <ProductPage />,
    children: [
      {
        path: "products/:productId"
      }
    ]
  }
];

`useLoaderData

  • 需要先在路由中增加loader,我們預期會取得資料

useLocation

  • 可以取得當前 URL 路徑中的資料
function CurrentLocation() {
  const { pathname, search } = useLocation();

  return (
    <div>
      <h2>Current Location:</h2>
      <p>Path: {pathname}</p>
      <p>Search: {search}</p>
    </div>
  );
}

// 路由
const routes = [
  {
    path: "/doquery?",
    element: <CurrentLocation />
  }
];

結語

下個任務見!


上一篇
DAY 25 - 使用 React Router v6 的 Data API 建立 Router
下一篇
DAY 27 - Redux
系列文
30 天大冒險:新手勇闖 React 大秘境30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言