Overview
React Router has been React's most used routing library for years. Version 7, released in late 2024, merged Remix into it: what would have been Remix v3 shipped as React Router v7's framework mode, and Remix v2 apps upgrade by switching imports. The Remix team now recommends starting new React projects on React Router v7.
It offers three modes. Declarative mode is the classic BrowserRouter. Data mode adds loaders, actions and pending states with createBrowserRouter. Framework mode wraps data mode in a Vite plugin with type-safe route modules, code splitting, and SPA, SSR or static rendering strategies. The docs say every mode supports any architecture and deployment target; the choice is how much you want the router to do.
For hosting, the project ships packages for Node (@react-router/node, @react-router/serve) and Cloudflare, plus deploy-ready templates for other runtimes. React Server Components support has been previewed, and the Remix team describes server-only routes as already possible. React.dev lists React Router as a recommended full-stack framework maintained by Shopify. Note that the Remix brand now names a separate, React-free framework (Remix 3).
Pricing and plans
What it does
- Three modes
- Declarative, data and framework modes are additive, so you can start small and adopt more later.
- Loaders and actions
- Route-level data loading and mutations built on web Request and Response.
- Framework mode Vite plugin
- Type-safe route modules, generated types for params and loader data, and automatic code splitting.
- Rendering strategies
- SPA, server rendering or static prerendering per app, all from framework mode.
- Runtime packages
- Official Node, serve and Cloudflare packages plus templates for other platforms.
Strengths and limitations
Strengths
- Incremental: an existing React Router or Remix app can adopt framework features without a rewrite.
- Built on web standards (Request, Response, FormData), so skills carry across runtimes.
- Long track record and very wide adoption across React projects.
- Can run fully client-side as an SPA with no server at all.
Limitations
- React-only.
- Naming history is confusing: Remix v2 became React Router v7, while Remix 3 is a different framework that drops React.
- React Server Components support came later than in Next.js: the Remix team announced limited RSC support and first previewed it in May 2025, so check the docs for its current status.
- Affected by the critical React Server Components vulnerability disclosed in December 2025 when RSC packages are used.
Who it suits
Good for
- React apps that want loaders/actions and web standards
- Teams migrating from Remix v2 or older React Router
- SPAs that may add server rendering later
Look elsewhere if
- Teams that want React Server Components as the core model today (Next.js, Waku)
- Content sites where Astro ships less JavaScript
Alternatives to React Router (framework mode)
Questions
Is Remix dead?
No. Remix v2's features moved into React Router v7, and the Remix team now builds Remix 3, a separate full-stack framework that does not depend on React.
Should I use React Router or Next.js?
React Router suits teams that want web-standard loaders and actions and a choice of SPA or SSR; Next.js suits teams that want Server Components and caching as the core model.
Can React Router v7 do server-side rendering?
Yes, in framework mode, which supports SPA, SSR and static prerendering.
Sources read for this page