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

reactjs React.js

A梅

2020-03-12

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

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

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

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

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

第1175篇《如何获取react-router v4的历史记录?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
小宇宙西里 2020.03.12

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

class MyComponent extends React.Component {
  props: PropsType;

  static contextTypes = {
    router: PropTypes.object
  };

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

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

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android