Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

connect and withRouter issue

I am using Redux and React for my project. I have some Routes in App.js. I also use the connect function in react-redux in my project. To prevent update blocking issue, I usually wrapped my component in this way

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

However, If I changed order of withRouter and connect it doesn't work:

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

I have console.log the props in App.js. It already receives location and history props. I am figuring out the theory behind why the order does matter ?

like image 526
xxddoo Avatar asked Jan 18 '19 02:01

xxddoo


2 Answers

You can use it with the method compose from redux library.

export default compose(   withRouter,   connect(mapStateToProps, mapDispatchToProps) )(App); 
like image 176
Wesley Amaro Avatar answered Sep 29 '22 03:09

Wesley Amaro


Could you refer to this https://reacttraining.com/react-router/core/api/withRouter, it clearly says that it doesn't work the other way around

like image 38
Aashish Karki Avatar answered Sep 29 '22 05:09

Aashish Karki