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.
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
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]
Official sources
- [1]React Router 8.4.0 README(2026-10-05)
- [2]react-router 8.4.0 package metadata(2026-10-05)
- [3]React Router 8.4.0 release(2026-10-05)
- [4]React Router official docs(2026-10-05)
- [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
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
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
Verify the matched parameter
Require
/users/42to produce route parameterid=42.test "$(node demo.mjs)" = '42'
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
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Next.js143,179 Stars
3 shared tag(s) · 1 shared category(s)
combine React routing, rendering, and server capabilities for full-stack web applications
JavaScript - Ant Design99,682 Stars
3 shared tag(s) · Same language
build enterprise React interfaces quickly with ready-made components, design tokens, theming, and internationalization
TypeScript - Storybook91,200 Stars
3 shared tag(s) · Same language
capture UI states once and reuse them across docs, interaction tests, and agent tooling
TypeScript - Zustand58,786 Stars
3 shared tag(s) · Same language
manage React state with provider-free hook stores and subscribe through selectors
TypeScript - Motion33,834 Stars
3 shared tag(s) · Same language
build web animation with gestures, springs, layout transitions, scroll effects, and timelines across React, JavaScript, and Vue
TypeScript - Expo52,566 Stars
4 shared tag(s) · Same language
build React Native apps for Android, iOS, and web from one project model
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.