カテゴリ: React 更新日: 2026/04/15

React Routerのネストされたルートの使い方を完全解説!初心者でもわかるルーティング設計

ネストされたルートを定義する方法
ネストされたルートを定義する方法

先生と生徒の会話形式で理解しよう

生徒

「ページの中にさらに別のページを表示することってできますか?」

先生

「はい、それはネストされたルートという仕組みで実現できます。」

生徒

「ネストってどういう意味ですか?」

先生

「親ページの中に子ページを入れるイメージです。それでは具体的に見ていきましょう!」

1. ネストされたルートとは

1. ネストされたルートとは
1. ネストされたルートとは

ネストされたルートとは、あるページの中にさらに別のページを表示する仕組みです。

例えばダッシュボード画面の中に設定ページやプロフィールページを表示する場合に使います。

一つの画面の中に複数の表示エリアを持つような構成を作ることができるため、実務でも非常によく使われます。

2. ネスト構造のイメージ

2. ネスト構造のイメージ
2. ネスト構造のイメージ

ネストされたルートは親と子の関係で構成されます。

親ルートの中に子ルートが入り込む形になります。


/dashboard
/dashboard/profile
/dashboard/settings

このようにURLが階層構造になっているのが特徴です。

3. 基本的なルートの定義方法

3. 基本的なルートの定義方法
3. 基本的なルートの定義方法

まずはネストされたルートの基本的な書き方を見ていきます。


import { BrowserRouter, Routes, Route } from "react-router-dom";
import Dashboard from "./Dashboard";
import Profile from "./Profile";

function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/dashboard" element={<Dashboard />}>
          <Route path="profile" element={<Profile />} />
        </Route>
      </Routes>
    </BrowserRouter>
  );
}
ダッシュボード内でプロフィール画面が表示されます

Routeの中にさらにRouteを書くことでネストが実現できます。

4. Outletコンポーネントの役割

4. Outletコンポーネントの役割
4. Outletコンポーネントの役割

ネストされたルートを表示するためにはOutletというコンポーネントが必要です。

これは子ルートを表示する場所を指定する役割を持っています。


import { Outlet } from "react-router-dom";

function Dashboard() {
  return (
    <div>
      <h1>ダッシュボード</h1>
      <Outlet />
    </div>
  );
}

export default Dashboard;
Outletの位置に子ページが表示されます

Outletを使うことで、親のレイアウトを保ちながら中身だけを切り替えることができます。

5. ネストルートの実用例

5. ネストルートの実用例
5. ネストルートの実用例

実務では管理画面やマイページなどでよく使われます。

例えば左側にメニューを表示し、右側の内容だけを切り替えるといった構成が可能です。


<Route path="/dashboard" element={<Dashboard />}>
  <Route path="profile" element={<Profile />} />
  <Route path="settings" element={<Settings />} />
</Route>

このように複数の子ページをまとめて管理できます。

6. インデックスルートの使い方

6. インデックスルートの使い方
6. インデックスルートの使い方

親ルートにアクセスしたときの初期表示を設定することもできます。


<Route path="/dashboard" element={<Dashboard />}>
  <Route index element={<Profile />} />
</Route>
ダッシュボードにアクセスするとプロフィールが表示されます

indexを使うことでデフォルトの表示内容を簡単に設定できます。

7. ネストルートのメリット

7. ネストルートのメリット
7. ネストルートのメリット

ネストされたルートを使うことで、レイアウトを共通化できます。

例えばヘッダーやサイドバーを固定したまま、内容だけを切り替えることが可能です。

またコードの整理がしやすくなり、保守性も向上します。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

Outletを忘れると子ルートが表示されません。

またパスの指定でスラッシュの付け方を間違えると正しく動作しないことがあります。

ネスト構造を意識してURLとコンポーネントの関係を理解することが重要です。

カテゴリの一覧へ
新着記事
New1
React
React Routerのネストされたルートの使い方を完全解説!初心者でもわかるルーティング設計
New2
React
Reactでイベントハンドラに引数を渡す方法をアロー関数で解説!初心者向けガイド
New3
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説
New4
Next.js
Next.jsのHead管理を完全解説!metadata APIでmetaタグ・linkタグを追加する方法【SEO対策対応】
人気記事
No.1
Java&Spring記事人気No1
React
React RouterのuseParamsでURLパラメータを取得する方法を完全解説!初心者でもわかる動的ルーティング
No.2
Java&Spring記事人気No2
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.3
Java&Spring記事人気No3
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.4
Java&Spring記事人気No4
React
React RouterのLinkコンポーネントの使い方を完全解説!初心者でもわかるページ遷移の基本
No.5
Java&Spring記事人気No5
React
React RouterのRouteコンポーネントの使い方を完全解説!初心者でもわかるルーティングの基本
No.6
Java&Spring記事人気No6
React
Reactの学習ロードマップ!初心者が最短で習得する流れを完全ガイド
No.7
Java&Spring記事人気No7
Next.js
Next.js Linkコンポーネントでページ遷移を高速化する方法!初心者向け解説
No.8
Java&Spring記事人気No8
React
React Routerとは?シングルページアプリのルーティングを初心者向けにわかりやすく解説