I'm using react-router v4 and material-ui in my React app. I was wondering how to change the URL once there is a click on a GridTile
within GridList.
My initial idea was to use a handler for onTouchTap
. However, the only way I can see to redirect is by using the components Redirect
or Link
. How could I change the URL without rendering those two components?
I've tried this.context.router.push('/foo')
but it doesn't seem to work.
Redirect and Navigate Component With the release of React Router v6, the Redirect component was removed and replaced with the Navigate component, which operates just as the Redirect component does by taking in the to prop to enable you redirect to the page you specify.
Using react-router-dom to Change URL Path and Render Components. The react-router-dom package is great for rendering different React components based on the url path. Therefore, React components can lead to others by changing the url path.
You may just need to edit the homepage entry. Alternatively, if you plan on deploying the app into a nested directory on your server then you can specify a basename prop on the router. can you add your router code here? Change homepage to "./" and try it again locally.
Try this,
this.props.router.push('/foo')
warning works for versions prior to v4
and
this.props.history.push('/foo')
for v4 and above
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With