connect 和 withRouter 问题

新手上路,请多包涵

我正在为我的项目使用 Redux 和 React。我在 App.js 中有一些路由。我也在我的项目中使用react-redux中的connect函数。为了防止更新阻塞问题,我通常以这种方式包装我的组件

withRouter(connect(mapStateToProps, mapDispatchToProps)(App)),

但是,如果我更改 withRouter 的顺序并连接它不起作用:

 connect(mapStateToProps, mapDispatchToProps)(withRouter(App))

我在 App.js 中有 console.log 道具。它已经收到位置和历史道具。我正在弄清楚为什么顺序很重要背后的理论?

原文由 xxddoo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 259
2 个回答

您可以将它与 redux 库中的方法 compose 一起使用。

 export default compose(
  withRouter,
  connect(mapStateToProps, mapDispatchToProps)
)(App);

原文由 Wesley Amaro 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题