OSS TanbouSign in with GitHub

multi-strategy routing for URLs, nested routes, navigation, and data flow in React applications

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
56,590
Primary language
TypeScript
License
MIT
Repository last updated
Oct 1, 2026
On this page

Overview

React Router is a multi-strategy router for React. It can be used minimally as a routing library, in Data mode with route-level data loading and mutations, or as a Framework mode that includes development, build, and server integrations. Route definitions connect URL structure to UI hierarchy.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Choose Declarative, Data, or Framework mode

Applications can use component-focused Declarative mode, Data mode with loaders and actions, or Framework mode that includes development, build, and server integrations.

Sources: [1][4]

Model UI hierarchy with nested routes and URL parameters

Route trees can define paths, parameters, index routes, and nested UI, while link and navigation APIs manage client-side transitions.

Sources: [4]

Coordinate navigation with route-level loading and mutations in Data mode

Loaders and actions attach data work to routes so navigation state, pending UI, and error handling can participate in the routing layer.

Sources: [4]

Best fit

Fits SPAs and full-stack React applications that want one route model

It is useful when a project wants to scale from simple client routing to data-aware navigation or the React Router framework while retaining a consistent route definition model.

Sources: [1][4]

Before adoption

Version 8.4.0 requires Node.js 22.22+ and React 19.2.7+

Package metadata for react-router 8.4.0 requires Node >=22.22.0 and React >=19.2.7; React DOM at the same minimum is an optional peer dependency.

Sources: [2]

Version 8 is a major upgrade from v7

The README points existing v7 applications to an upgrade guide. Review route definitions, server adapters, and build workflows before moving a production application across the major-version boundary.

Sources: [1][3]

Official sources

  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)
Supplemental curator note

Version 8 is a major release. When upgrading from v7, review the upgrade guide and runtime requirements, and decide whether the application uses Framework, Data, or Declarative mode.

Try it in 3 steps

  1. 1

    Install pinned React Router 8.4.0

    Use Node.js 22.22 or later and install React Router plus exact peer dependencies in an isolated npm project.

    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

    Create a minimal URL-parameter route match

    Use the pure route-matching API to inspect a dynamic segment without starting a browser.

    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

    Verify the matched parameter

    Require /users/42 to produce route parameter id=42.

    test "$(node demo.mjs)" = '42'
Check the official README

Growth

Growth trends · Last 30 days

56,590 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
52
Open PRs
105

Development activity is still being collected.

Built with

Categories and tags

Categories

GitHub data

GitHub dataView detailed GitHub data
Stars
56,590
Forks
10,938
Watchers
805
Open issues
109
Contributors
429
Owner type
Organization
Primary language
TypeScript
License
MIT
Repository last updated
Oct 1, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?