2016-03-31 12 views
6

ich versuche, wie so auf eine andere Seite zu navigieren programmatisch this.props.history.push('/new-path'); es funktionierte, aber ich habe eine deprecation Warnung in der Konsole sagen:this.props.history ist veraltet (reagieren-Router)

Warning: [react-router] props.history and context.history are deprecated. Please use context.router. mehr hier https://github.com/reactjs/react-router/blob/master/upgrade-guides/v2.0.0.md#changes-to-thiscontext


Danach habe ich versucht, wie so diese neue Methode zu verwenden this.context.router.push('/new-path') aber dies scheint nicht der richtige Ansatz zu sein.

+0

Möglicherweise verwandte: http://stackoverflow.com/questions/35213446/react- router-this-context-router-push-does-nicht-remount-the-component –

Antwort

13

Vielleicht haben Sie vergessen, den Router als ContextType zu definieren? Angenommen, Sie haben eine Komponente wie:

class YourComponent extends React.Component { 
     render() { 
     return <div></div>; 
     } 
} 

Sie haben die contextTypes zu definieren, wie rechts unter Ihrer Komponente folgt:

YourComponent.contextTypes = { 
    router: React.PropTypes.object.isRequired 
};