DEV Community

Discussion on: React Redux with hooks

Collapse
 
markerikson profile image
Mark Erikson

Glad to know that our React-Redux hooks API is working well for you!

Out of curiosity, was there anything specific about connect that you felt hard to work with?

Note that the mapDispatch declaration can be shortened using the "object shorthand" form:

const mapDispatch = {increaseVote, decreaseVote};
Enter fullscreen mode Exit fullscreen mode
Collapse
 
rphlmr profile image
Raphaël Moreau

Redux toolkit is awesome (love createSlice). It should be the way to go, to show people that redux in 2020, is easy. In a production project, I rewrite every redux part with it. Huge productivity improvment!

Collapse
 
markerikson profile image
Mark Erikson • Edited
Collapse
 
jenkens profile image
Jen Kennedy

Thank you for all you do for Redux! My biggest struggle with using connect was setting up the mapDispatchToProps function. I'm not sure why maybe I was just so overwhelmed with all the other moving pieces of Redux that it was the straw that broke the camel's back. With hooks, it felt a bit more natural and easy to understand for me. I want this state so just use the hook to grab a specific piece and then I want to dispatch an action so just call dispatch with a specific action. Fewer steps made it a bit easier for me to work with since it was broken down into more manageable pieces.

Collapse
 
markerikson profile image
Mark Erikson

Yeah, I get what you're saying. It's just interesting to see how connect is sometimes described as being a lot harder to understand. mapState and useSelector are basically equivalent. mapDispatch is admittedly doing a couple more steps than useDispatch, but ultimately the behavior is the same (and really code like () => dispatch(increaseVote(anime.id) is actually doing some work that mapDispatch did for you.)

FWIW, I'm working on a major rewrite of the Redux core docs, and my next step is to add a new tutorial page that teaches Redux Toolkit and the React-Redux hooks as the default way to use Redux. It'll be interesting to see how that turns out.

Thread Thread
 
ninjasun profile image
ninjasun

I think because 'connect' is actually where the magic happen. We do not see any code but our components gets store and functions from redux. I think also from the javascript point of view it's not common and easy to read somethings like function(function, function)(function)
Can't wait to use the toolkit in my next project!