When using react-router I can use the Link element to create links that are natively handled by react router.
I see internally it calls this.context.transitionTo(...).
I want to do a navigation, but not from a link, from a dropdown selection for example. How can I do this in code? What is this.context?
I saw the Navigation mixin, but can I do this without mixin's?
You want to install the history package npm install history and then pass an instance of it to your router:
import { Router } from "react-router";
import { createBrowserHistory } from "history";
const history = createBrowserHistory()
<Router history={history}>
<App/>
</Router>
Then you can programmatically navigate anywhere in your app by using withRouter to get your history instance and doing something like this history.push("/my-path").
You can also set up a file that creates/exports your history instance that you can just import.
Technically you don't need the history package as react-router will pass its own, but if you're doing this you'll prefer the flexibility that your own history instance will provide.
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