首页 > 解决方案 > 历史监听不适用于反应路由器 dom

问题描述

我有一个反应类叫做App

我的渲染方法中有以下代码:

<Provider store={store}>
  <Router history={history}>
    <div>
      <Content>
        <ListItem onClick={this.onListItemClick}
      <Content>
    </div>
  </Router>
</Provider>

onListItemClick我在里面做history.push(location);

这些是我的代码中的以下导入语句:

import { Router} from 'react-router-dom';
import createBrowserHistory from 'history/createBrowserHistory';

然后我正在创建和收听历史如下:

const history = createBrowserHistory();
history.listen(location, action => {
  console.log('listen triggered');
});

我有以下导出语句。

export {App, AppState etc}
export default App

控制台日志语句永远不会被记录。

如何确保history.listen每次都正确触发?

版本:

"react-router-dom": "^4.3.1",
"history": "^4.7.2",

标签: reactjsreact-nativereduxreact-routerreact-router-dom

解决方案


推荐阅读