react-router - 如何在 React 组件中访问 history.listen?

标签 react-router react-router-redux

我有一个特定的组件,希望在用户每次导航时收到通知。有什么方法可以访问传入路由器的历史记录吗?

<Router history={history}>
   {// ...}
</Router>

子组件:
var Component = React.createClass({
   componentDidMount: function() {
     // history.listen(this.onRouteChange);
   },
   onRouteChange: function() {},
   render: function() {...},
});

最佳答案

我注意到这有效:

import { browserHistory } from 'react-router';

var Component = React.createClass({
  componentDidMount: function() {
    browserHistory.listen(this.onRouteChange);
  },
  ...
});

但似乎我想使用传递给路由器的实际历史记录,而不是盲目地使用 browserHistory 。在某些情况下,我改为传入 hashHistory。仍然希望有更好的解决方案!

关于react-router - 如何在 React 组件中访问 history.listen?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40729113/

相关文章:

javascript - 使用 React Router 的 React Js SetState

reactjs - 同级路由不会被替换,而是附加到之前的 url react 路由器 v6

javascript - nextjs Router.back 进行全页面刷新

react-router - react 路由器 : Cannot read property 'pathname' of undefined

javascript - 警告 : Memory Router ignores the history props

javascript - 按类型排除 React Router 中路径参数的值

javascript - 你能绘制出 React 的路线列表吗?

javascript - React Router Redux 从 v3 升级到 v4

reactjs - react-router-redux 推送,状态更改重置