我正在寻找使用react-router和redux进行路由寻呼的解决方案。
如果仅查询更改,则onEnter
挂钩中的React-router不会触发回调,Router.run
方法已被弃用,所以我有点疑惑。除了手动订阅location.change或使用react的生命周期钩子(如willReceiveProps
之外)还有其他事情要做吗?
答案 0 :(得分:5)
根据评论,<Router>
上唯一留给您的挂钩是onUpdate
。您也可以通过自定义RoutingContext拦截查询参数,但我们目前不认为是公共API。
我们希望将来为此用例添加更好的解决方案,但所概述的方法是1.0.0版本中唯一可用的方法。
答案 1 :(得分:1)
对于使用v2.0 / v3.0的任何人,您可以使用路由的onChange
挂钩来响应查询更改。
<Route
component={...}
path="..."
onChange={(nextState, replace, callback) => {
// Do something in response to a query change...
}}
/>