当我使用 Redux 时,React-Router 停止工作
React-Router stops working when I use Redux
我正在试用 redux。出于某种原因,当我使用 redux 时,react-router 不再正常工作。当我单击 Link 时,url 发生变化,但新组件未加载。它仅在我刷新页面时加载。
我做错了什么?
redux 的 connect(...)
包装器函数生成了一个新组件。这个新组件实现了 shouldComponentUpdate
功能,当它的 props 不同时(pr shallowEqual
)仅更新自身和子组件。
见https://reacttraining.com/react-router/web/guides/redux-integration
标准的解决方法是用 withRouter
包裹 connect(...)
。这会注入新的道具,强制 connect
-ed 组件根据位置变化进行更新。
即。 withRouter(connect(...))
我正在试用 redux。出于某种原因,当我使用 redux 时,react-router 不再正常工作。当我单击 Link 时,url 发生变化,但新组件未加载。它仅在我刷新页面时加载。
我做错了什么?
redux 的 connect(...)
包装器函数生成了一个新组件。这个新组件实现了 shouldComponentUpdate
功能,当它的 props 不同时(pr shallowEqual
)仅更新自身和子组件。
见https://reacttraining.com/react-router/web/guides/redux-integration
标准的解决方法是用 withRouter
包裹 connect(...)
。这会注入新的道具,强制 connect
-ed 组件根据位置变化进行更新。
即。 withRouter(connect(...))