例如,当我执行以下操作时,只要我调用.listen()
就会调用回调函数:
let unlistener = ReactRouter.browserHistory.listen(route => {
// do something when the path changes
});
如何防止这种情况发生?或者,如何获取当前路径的路径,以便将路由参数与当前路径进行比较?
我不想让这个功能只是忽略第一次执行,因为那太苛刻了。有时可能不会立即调用该函数。
答案 0 :(得分:1)
如果您使用redux
,则可以使用react-router-redux
(https://github.com/reactjs/react-router-redux)。设置时,对历史记录的每次更改都会调度LOCATION_CHANGE
操作。
添加reducer以处理LOCATION_CHANGE
的主要优点是,您确实在操作的有效负载中获得了新路径,并且您在商店state
中引用了当前路径。< / p>