我在我的项目中使用Redux和React。我在App.js中有一些Routes。我还在我的项目中使用react-redux中的connect函数。为了防止更新阻塞问题,我通常以这种方式 Package 我的组件
withRouter(connect(mapStateToProps, mapDispatchToProps)(App)),
然而,如果我改变了顺序的withRouter和连接它不工作:
connect(mapStateToProps, mapDispatchToProps)(withRouter(App))
我已经在App.js中记录了console.log的属性。它已经接收了位置和历史属性。我正在弄清楚为什么顺序很重要背后的理论?
5条答案
按热度按时间vof42yt11#
您可以将它与redux库中的
compose
方法一起使用。2ic8powd2#
请参考https://reacttraining.com/react-router/core/api/withRouter,它清楚地表明,它不能以相反的方式工作
plupiseo3#
你可以用两种方法来做,
正确的方式:
有了这个,你就可以在mapStateToProps中得到路由器的属性,比如历史,比赛等等。
第二种方式:
使用此方法,您将无法获得withRouter属性
pjngdqdw4#
如果有人仍然有这个问题,那么请遵循这一条
ajsxfq5m5#
这解决了我同时使用connect和withRouter的问题