main
分支
main (6.23.1)dev
版本
6.23.1v4/5.xv3.x
createRoutesFromElements

createRoutesFromElements

createRoutesFromElements 是一個從 <Route> 元素建立起路由物件的幫助函式。如果你偏好以 JSX 建立你的路由,而非物件,這會很有用。

import {
  createBrowserRouter,
  createRoutesFromElements,
  RouterProvider,
  Route,
} from "react-router-dom";

// You can do this:
const router = createBrowserRouter(
  createRoutesFromElements(
    <Route path="/" element={<Root />}>
      <Route path="dashboard" element={<Dashboard />} />
      <Route path="about" element={<About />} />
    </Route>
  )
);

// Instead of this:
const router = createBrowserRouter([
  {
    path: "/",
    element: <Root />,
    children: [
      {
        path: "dashboard",
        element: <Dashboard />,
      },
      {
        path: "about",
        element: <About />,
      },
    ],
  },
]);

它在內部也會被 <Routes> 使用,以便從其 <Route> 子項產生路由物件。

型別宣告

declare function createRoutesFromElements(
  children: React.ReactNode
): RouteObject[];

interface RouteObject {
  caseSensitive?: boolean;
  children?: RouteObject[];
  element?: React.ReactNode;
  index?: boolean;
  path?: string;
}