1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【React】React router とは

Posted at

はじめに

こんにちは。アメリカ在住で、独学でエンジニアを目指している Taira です。
現在、Udemy の講座「React に入門した人のためのもっと React が楽しくなるステップアップコース完全版」で React の学習を進めています。

この講座の内容は非常にわかりやすいのですが、紹介されている React および React Router のバージョンがやや古く、現在主流となっている react-router-dom バージョン 7 とは操作方法が大きく異なります。

そこで本記事では、講座内で紹介されている内容をもとに、2025 年 5 月 10 日時点での react-router-dom の最新バージョン(7.5.3)に対応した書き方や操作方法について解説します。

【開発環境】
React 19.1.0

Vite 6.3.5

react-router-dom 7.5.3

始める前に

まずは react-router-dom をインストールしてください

npm install react-router-dom

package.json の dependencies に react-router-dom バージョン 7.5.3(2025 年 5 月時点)が入っていることを確認してください

React router の使い方

以下はバージョン 7 の react-router-dom の書き方です。

App.jsx
import {BrowserRouter, Route, Routes } from 'react-router-dom'
import { Home } from '../Home';
import { Page2 } from '../Page2';
import { Page1 } from '../Page1';
import { Page1DetailA } from '../Page1DetailA';
import { Page1DetailB } from '../Page1DetailB';
import { UrlParameter } from '../UrlParameter';
import { Page404 } from '../Page404';

export const App = ()=>{
  return(
    <>
      <BrowserRouter>
        <Routes>
          <Route path="/" element={<Home />} />
          <Route path="/page1" element={<Page1 />}>
            <Route path="detailA" element={<Page1DetailA />} />
            <Route path="detailB" element={<Page1DetailB />} />
          </Route>

          <Route path="/page2" element={<Page2 />}>
            <Route path=":id" element={<UrlParameter />} />
          </Route>

          <Route path="*" element={<Page404 />} />
        </Routes>
      </BrowserRouter>
    </>
  )
}

このように、v7 では Routes コンポーネントの中に Route をネストし、それぞれに element プロパティでコンポーネントを割り当てるというシンプルな記述になっています。

以下に、旧バージョン(v5)と比較して、v6 以降でどのように変わったかを表にまとめました。

項目 v5 以前 v6 以降(現行) 変化のポイント
Switch ✅ 使用 ❌ 廃止 → Routes 自動で最初にマッチしたルートだけ表示(明確化)
exact ✅ 必須 ❌ 不要 パスの完全一致がデフォルトに
component / render ✅ 使用 ❌ 廃止 → element={<...>} JSX の一貫性向上、直感的に

私は講座内で紹介されていた v5 の書き方を見ましたが、v7 以降の書き方のほうがシンプルで可読性が高く、初心者にも理解しやすいと感じました。

まとめ

本記事では、React Router v7 における基本的なルーティングの書き方と、旧バージョンとの主な違いについてまとめました。
今後はさらに詳細な使い方についても記事にしていく予定です。

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?