我正在使用带有redux的react-router-4.0.0-beta.4
,我正在尝试找出在路由更改上分派操作的最佳方法。我看到几个版本之前有here的API /事件挂钩。但我发现它现在已经消失了。试着做redux-router
所做的现代等价物。
答案 0 :(得分:2)
似乎发送操作的最佳方式是在组件的componentWillMount()
,componentDidMount()
或componentWillUnmount()
方法中执行此操作。
IGNORE以下内容
有onEnter
道具。像这里comet-frontend
onEnter (nextState,replace,callback?)
即将输入路线时调用。它提供了下一个 路由器状态和重定向到另一个路径的功能。这将会 触发挂钩的路由实例。 https://github.com/ReactTraining/react-router/blob/master/docs/API.md#onenternextstate-replace-callback
但仍然存在onChange道具,完全按照你描述的那样做。也许告诉我们你的问题究竟是什么。因为你好像做错了什么。
答案 1 :(得分:0)
因此,您必须将主应用程序组件包装在withRouter
中,并根据withRouter
传递的道具中的道具更改做出反应,例如props.location.pathname
。
您可以在此处查看有关它如何运作的讨论https://github.com/ReactTraining/react-router/issues/4603