ホームページ >ウェブフロントエンド >jsチュートリアル >React Router v6 でさまざまなレイアウトをレンダリングするにはどうすればよいですか?

React Router v6 でさまざまなレイアウトをレンダリングするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-25 13:43:09691ブラウズ

How to Render Different Layouts in React Router v6?

React Router v6 を使用した異なるレイアウト/要素を持つコンポーネントのレンダリング

React Router v6 では、異なるレイアウトや要素を持つコンポーネントのレンダリングを実現できますネストされたルートまたは useRoutes によるルート構成を使用するフック。

ネストされたルート

をレンダリングするには<サイドバー>ログイン ルートを除くすべてのルート上のコンポーネントを作成するには、それらをレンダリングするレイアウト コンポーネントと、ネストされたルートのアウトレットを作成します。 、ルート設定と 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>
    </>
  );
};

ルート設定とデータ ルーター (v6.4.0 のみ)

React Router v6.4.0 以降、データ ルーターを使用して定義することもできます。あなたのルート:

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

以上がReact Router v6 でさまざまなレイアウトをレンダリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。