I was trying to programatically navigate to a different page like so this.props.history.push('/new-path');
it worked, but I got a deprecation warning in console saying:
Warning: [react-router] props.history and context.history are deprecated. Please use context.router.
more about it here .0.0.md#changes-to-thiscontext
Afterwards I tried to use this new method like so this.context.router.push('/new-path')
but this doesn't seem to be the right approach.
I was trying to programatically navigate to a different page like so this.props.history.push('/new-path');
it worked, but I got a deprecation warning in console saying:
Warning: [react-router] props.history and context.history are deprecated. Please use context.router.
more about it here https://github./reactjs/react-router/blob/master/upgrade-guides/v2.0.0.md#changes-to-thiscontext
Afterwards I tried to use this new method like so this.context.router.push('/new-path')
but this doesn't seem to be the right approach.
- Possibly related: stackoverflow./questions/35213446/… – James Donnelly Commented Mar 31, 2016 at 10:24
1 Answer
Reset to default 13Maybe you did forget to define the router as contextType? Assuming you have a ponent like:
class YourComponent extends React.Component {
render() {
return <div></div>;
}
}
You have to define the contextTypes as follows right beneath your ponent:
YourComponent.contextTypes = {
router: React.PropTypes.object.isRequired
};