Major Features
- Added a new
useSearchParams
hook (see f59ee54)
The useSearchParams
hook returns a URLSearchParams
object created from the current location.search
string. This is a feature that people have wanted for a while, but we were always hesitant to ship a full-blown query parser with the router. Well, now that we have URLSearchParams
widely available, we don't have to. I wrote up a small guide about how to use useSearchParams
if you'd like to read more.
Major Changes
Warning: This release breaks compatibility with 6.0.0-alpha.2
Redirect
(andredirectTo
inuseRoutes
) was removed (see cbcd398)- We no longer support redirecting on the initial render, due to compatibility issues with future versions of React
React won't let us change the state in an ancestor component on the initial render w/out warning, so we had to remove the <Redirect>
component, as well as the ability to do a navigate()
on the initial render. You can still render a <Navigate>
, but it won't actually update the page until the next render.
If you really need to redirect on the initial render, you can either a) do it on your server (probably best, so it can be cached at the HTTP level instead of doing it in every user's browser) or b) do it outside of React Router (e.g. using the history API directly).
Installing
Development for v6 is happening on the dev
branch.
If you'd like to test it out, install from npm:
$ npm install react-router@next react-router-dom@next
Or, if you're on React Native:
$ yarn add react-router@next react-router-native@next
We are actively working on documentation. For now, if you're just interested in testing things out you may be interested in the getting started guide. If you're interested in upgrading an existing app, please check out the v5 to v6 migration guide.
Enjoy!