不推荐使用this.props.history(react-router)

时间:2016-03-31 10:20:05

标签: javascript reactjs react-router

我试图以编程方式导航到不同的页面,如this.props.history.push('/new-path');它工作,但我在控制台中收到了弃用警告:

Warning: [react-router] props.history and context.history are deprecated. Please use context.router.更多关于此问题https://github.com/reactjs/react-router/blob/master/upgrade-guides/v2.0.0.md#changes-to-thiscontext

之后我尝试使用这种新方法this.context.router.push('/new-path'),但这似乎不是正确的做法。

1 个答案:

答案 0 :(得分:13)

也许您忘了将路由器定义为contextType?假设您有一个组件:

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

您必须在组件下方定义contextTypes,如下所示:

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