如何获取react-router v4的历史记录?

我从React-Router v3迁移到v4时遇到一些小问题。在v3中,我可以在任何地方执行此操作:

import { browserHistory } from 'react-router';
browserHistory.push('/some/path');

如何在v4中实现这一目标。

我知道withRouter当您在Component中时,可以使用hoc ,react上下文或事件路由器props。但对我而言并非如此。

我正在寻找v4中NavigatingOutsideOfComponents的等效项

小宇宙西里2020/03/12 17:04:57

在的特定情况下react-router,使用context是有效的案例方案,例如

class MyComponent extends React.Component {
  props: PropsType;

  static contextTypes = {
    router: PropTypes.object
  };

  render () {
    this.context.router;
  }
}

您可以通过路由器上下文访问历史记录的实例,例如this.context.router.history