- ルートコンポーネントの作成:
まず、ルートコンポーネントを作成します。これは通常、Appコンポーネントと呼ばれます。
import { Outlet } from 'react-router-dom';
function App() {
return (
<div>
<h1>アプリのタイトル</h1>
<Outlet /> {/* Outletを配置する */}
</div>
);
}
export default App;
- ネストされたルートの設定:
次に、ネストされたルートを設定します。これは、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;
- ネストされたルートのコンポーネント内で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アプリケーションで柔軟なルーティングを実現することができます。