如何防止 React Router 的 'browserHistory.listen' 立即调用回调?



例如,当我执行以下操作时,只要我调用.listen(),就会调用回调:

let unlistener = ReactRouter.browserHistory.listen(route => {
    // do something when the path changes
});

如何防止这种情况发生?或者,如何获取当前路由的路径,以便将路由参数与当前路由进行比较?

我不想让这个函数忽略第一次执行,因为这太黑客了。有时可能不会立即调用该函数。

如果使用 redux ,则可以使用 react-router-redux (https://github.com/reactjs/react-router-redux)。设置它时,每次更改历史记录时都会调度一个LOCATION_CHANGE操作。

添加化简器来处理LOCATION_CHANGE的主要优点是,您确实在操作的有效负载中获取新路径,并且您在商店的state中具有对当前路由的引用。

最新更新