React Router DOMでOutletを使用する方法


  1. ルートコンポーネントの作成:

まず、ルートコンポーネントを作成します。これは通常、Appコンポーネントと呼ばれます。

import { Outlet } from 'react-router-dom';
function App() {
  return (
    <div>
      <h1>アプリのタイトル</h1>
      <Outlet /> {/* Outletを配置する */}
    </div>
  );
}
export default App;
  1. ネストされたルートの設定:

次に、ネストされたルートを設定します。これは、Appコンポーネント内の別のコンポーネントで行います。以下は、/users/articlesという2つのルートを持つ例です。

import { Routes, Route } from 'react-router-dom';
function Users() {
  return <h2>ユーザーページ</h2>;
}
function Articles() {
  return <h2>記事ページ</h2>;
}
function App() {
  return (
    <div>
      <h1>アプリのタイトル</h1>
      <Routes>
        <Route path="/users" element={<Users />} />
        <Route path="/articles" element={<Articles />} />
      </Routes>
      <Outlet /> {/* Outletを配置する */}
    </div>
  );
}
export default App;
  1. ネストされたルートのコンポーネント内でOutletを使用する:

ネストされたルートのコンポーネント内で、必要な場所にOutletコンポーネントを配置します。これにより、親コンポーネントのOutletが子コンポーネントのルートにマッチするようになります。

import { Outlet } from 'react-router-dom';
function Users() {
  return (
    <div>
      <h2>ユーザーページ</h2>
      <Outlet /> {/* Outletを配置する */}
    </div>
  );
}
function Articles() {
  return (
    <div>
      <h2>記事ページ</h2>
      <Outlet /> {/* Outletを配置する */}
    </div>
  );
}
function App() {
  return (
    <div>
      <h1>アプリのタイトル</h1>
      <Routes>
        <Route path="/users" element={<Users />} />
        <Route path="/articles" element={<Articles />} />
      </Routes>
      <Outlet /> {/* Outletを配置する */}
    </div>
  );
}
export default App;

これで、React Router DOMのOutletを使用してネストされたルーティングを実装する方法が分かりました。これにより、親コンポーネントと子コンポーネントの間でルートがネストされ、正しく表示されるようになります。

この記事では、React Router DOMのOutletの基本的な使用方法といくつかのコード例を紹介しました。これにより、Reactアプリケーションで柔軟なルーティングを実現することができます。