我正在为我的项目使用Redux和React。我在App.js中有一些路由。我还在项目的react-redux中使用connect函数。为了防止更新阻止问题,我通常以这种方式包装组件
withRouter(connect(mapStateToProps, mapDispatchToProps)(App)),
但是,如果我更改了withRouter的顺序并连接它不起作用:
connect(mapStateToProps, mapDispatchToProps)(withRouter(App))
我有console.log App.js中的道具。它已经收到位置和历史道具。我正在弄清楚订单为何重要的背后理论?
答案 0 :(得分:6)
如果仍然有问题,那么请跟随这个人
const ShowTheLocationWithRouter = withRouter(Login);
export default connect(mapStateToProps, mapDispatchToProps)(ShowTheLocationWithRouter);
答案 1 :(得分:3)
您可以将其与redux库中的方法compose
一起使用。
导出默认撰写文件( 与路由器, connect(mapStateToProps,mapDispatchToProps) )(App);
答案 2 :(得分:3)
您可以通过两种方式做到这一点,
正确的方法:
withRouter(connect(mapStateToProps, mapDispatchToAction)(App));
使用此功能,您将可以在mapStateToProps中使用路由器道具,例如历史记录,比赛等。
第二种方式:
connect(mapStateToProps, mapDispatchToAction)(withRouter(App));
使用此功能,您将无法获得withRouter道具
答案 3 :(得分:1)
您能否提及这个https://reacttraining.com/react-router/core/api/withRouter,它清楚地说明,它反之亦然