【发布时间】:2018-04-23 18:12:43
【问题描述】:
我正在尝试 redux。出于某种原因,当我使用 redux 时,react-router 不再正常工作。当我单击链接时,url 会更改,但不会加载新组件。它仅在我刷新页面时加载。
我做错了什么?
【问题讨论】:
标签: react-redux react-router-v4
我正在尝试 redux。出于某种原因,当我使用 redux 时,react-router 不再正常工作。当我单击链接时,url 会更改,但不会加载新组件。它仅在我刷新页面时加载。
我做错了什么?
【问题讨论】:
标签: react-redux react-router-v4
redux 的 connect(...) 包装函数生成一个新组件。这个新组件实现了 shouldComponentUpdate 函数,仅在其 props 不同时更新自身和子组件(pr shallowEqual)。
见https://reacttraining.com/react-router/web/guides/redux-integration
标准的解决方法是用withRouter 包裹connect(...)。这会注入新的 props,从而强制 connect-ed 组件根据位置变化进行更新。
即。 withRouter(connect(...))
【讨论】: