Upgrade react-router from v4 to v5 and begin using hooks #2295
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related issue #857
This is step 2 and should be merged after #2294
Upgrading
react-router
from v4 to v5 is a non-breaking change so all that is strictly required is changing the package versions.v5.1.0 introduces React hooks
useLocation
,useParams
,useHistory
, etc. These are now the preferred way to accesslocation
,params
, andhistory
rather than via props (or via a global variable, in the case ofhistory
).As v5.x is backwards-compatible, existing code using
this.props.location
will still work. I have not made changes to any class components in this PR. I have only used the hooks in existing function components where it is trivial to do so.Note: In v6 the hooks will be the only way to access the router state. Though we can create our own backwards-compatibility for class components by creating HOCs.
I have verified that this pull request:
npm run lint
)npm run test
)develop
branch.Fixes #123