【问题标题】:React-Router stops working when I use Redux当我使用 Redux 时,React-Router 停止工作
【发布时间】:2018-04-23 18:12:43
【问题描述】:

我正在尝试 redux。出于某种原因,当我使用 redux 时,react-router 不再正常工作。当我单击链接时,url 会更改,但不会加载新组件。它仅在我刷新页面时加载。

Router without Redux

Router and Redux

我做错了什么?

【问题讨论】:

    标签: react-redux react-router-v4


    【解决方案1】:

    redux 的 connect(...) 包装函数生成一个新组件。这个新组件实现了 shouldComponentUpdate 函数,仅在其 props 不同时更新自身和子组件(pr shallowEqual)。

    https://reacttraining.com/react-router/web/guides/redux-integration

    标准的解决方法是用withRouter 包裹connect(...)。这会注入新的 props,从而强制 connect-ed 组件根据位置变化进行更新。

    即。 withRouter(connect(...))

    https://codesandbox.io/s/2xl5pp1l4n

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-18
      • 2016-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      相关资源
      最近更新 更多