React Router v9 #15371
Replies: 5 comments 2 replies
|
We plan to remove the |
|
We will plan to deprecate View Transition APIs in favor of React's ViewTransition component if it lands in a stable release before v9 is released. |
|
What about prefetch modes like Tanstack Router has which work in SPA instead only on SSR? |
|
Is the plan to deprecate the Declarative mode entirely further down the line? I only ask because in the change logs for |
|
This probably goes against the less is more mantra for the next version, but what about adding an optional first-party client-side cache for loader data. I know this has been discussed before, and I am still fairly new to React Router, so I may be missing some of the historical reasons for not adding it. But I have been using the common React Router + TanStack Query pattern, where the router handles navigation and loaders, while React Query handles caching, stale times, and revalidation. Figured I might as well still ask! Caching is not my expertise. |
Uh oh!
There was an error while loading. Please reload this page.
React Router v8 was released in June 2026. This discussion will be used to track changes planned for v9. This is estimated to be released sometime mid-2027, after Node 22 goes EOL.
There are a few principles from our Design Goals worth mentioning here as we plan for our next major version:
We have released a lot and have a few future flags already stabilized or can be soon. This is a good spot to take stock of future flags we have in progress, what deprecations we've introduced or still need, and draw a line in the sand for any future breaking changes we're considering.
Note
Threads will be created for anything proposed that needs to be discussed further. This top level summary will be kept up to date with all decisions that have been made.
Please open a thread (if one does not exist) if you have questions or comments on anything below, or if you have another feature, deprecation, or change you would like to be considered.
unstable_)Future Flags
unstable_enableNodeReadableStream- Use runtime-specific default server entries #15290New APIs
useRoute- Consolidate route data access with new type-safe hook:useRoute#14418useRouterState- Consolidate Router State Access #13073Deprecations
react-router reveal--no-typescriptflagViewTransitioncomponent if it lands in a stableNice to Haves
These are non-breaking changes features that are marked as unstable or have not been started. Given that they are features, they can be added in future minor versions. However, for the sake of simplicity, shipping major versions with little to no dangling
unstable_features makes for a clean story and clear starting point for both end users and contributors.n/a
Rejected Changes
n/a
All reactions