OSS探訪GitHubでログイン

URL・nested route・navigation・data flowをReact applicationへ組み込むmulti-strategy router

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
56,590
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/01
ページ内ナビ

概要

React RouterはReact向けのmulti-strategy routerです。最小限のrouting libraryとしても、data loadingやmutationを扱うData modeとしても、build toolとserver runtimeを含むFramework modeとしても利用できます。URL structureとUI hierarchyをroute定義へまとめます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

Declarative・Data・Frameworkの3つの使い方から選べる

component中心のDeclarative mode、loader/action等を使うData mode、開発・build・server integrationまで含むFramework modeをapplication要件に合わせて選択できます。

出典:[1][4]

nested routeとURL parameterでUI hierarchyを表現する

route treeへpath、parameter、index route等を定義し、URL matchに応じてnested UIを組み立てられます。link/navigation APIと組み合わせてclient-side transitionを管理できます。

出典:[4]

Data modeではnavigationとdata loading/mutationをroute単位で扱う

loaderやactionをrouteへ関連付け、navigation state、pending UI、error handling等をrouting layerと連携させられます。

出典:[4]

向いている用途

URL構造と画面構成をReact側で一貫して管理したいSPA・full-stack applicationに向く

単純なclient routingからdata-aware routing、React Router Frameworkまで同じroute modelを段階的に使いたいprojectに適します。

出典:[1][4]

導入前の確認

8.4.0はNode.js 22.22以上とReact 19.2.7以上を要求する

react-router 8.4.0のpackage metadataはNode >=22.22.0、React >=19.2.7を要求し、React DOMも同version以上をoptional peerとして定義しています。

出典:[2]

v8はmajor updateのためv7からのupgrade手順を確認する

READMEはv7向けupgrade guideを案内しています。既存route definition、server adapter、build workflow等を持つapplicationではmajor version差分を確認して段階的に更新してください。

出典:[1][3]

参考にした公式資料

  1. [1]React Router 8.4.0 README(2026-10-05)
  2. [2]react-router 8.4.0 package metadata(2026-10-05)
  3. [3]React Router 8.4.0 release(2026-10-05)
  4. [4]React Router official docs(2026-10-05)
  5. [5]React Router MIT license(2026-10-05)
編集部からの補足

v8はmajor versionです。v7 applicationから更新する場合はUpgrade Guideとruntime要件を確認し、Framework/Data/Declarativeのどのmodeで使うかを先に揃えてください。

3ステップで試す

  1. 1

    React Router 8.4.0を固定して導入する

    Node.js 22.22以上を用意し、一時npm projectへReact Routerとpeer dependencyを固定して導入します。

    demo=$(mktemp -d "${TMPDIR:-/tmp}/react-router.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact react-router@8.4.0 react@19.2.8 react-dom@19.2.8
  2. 2

    URL parameterをmatchする最小routeを書く

    browserを起動せず、pure route matching APIでdynamic segmentを確認する最小例を作ります。

    printf '%s\n' "import { matchRoutes } from 'react-router'" "const matches=matchRoutes([{path:'/users/:id'}],'/users/42')" "console.log(matches?.[0]?.params.id)" > demo.mjs
  3. 3

    match結果を検証する

    /users/42からroute parameter id=42が取得できることを確認します。

    test "$(node demo.mjs)" = '42'
公式READMEで確認

成長

成長の推移 · 直近30日

56,590 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
52
Open PR
105

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
56,590
Forks
10,938
Watchers
805
Open Issues
109
Contributors
429
所有者種別
Organization
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/01

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?