This post is aimed at people who already know React and Redux. This will aid them in better understanding how things work under the hood.
When I first got into the React universe ?, ~3 years ago, I had a very hard time understanding how Redux’s
mapStateToProps
andmapDispatchToProps
worked and were available to the React component. Here is a diagrammatic guide to better understand how Redux’sconnect
works with React.
Let’s say we have a Search
component.
And a classic Redux store.
Let’s populate the Redux store with Action
dispatchers and the Reducer
state.
The Reducer’s defaultState
looks like this. The action
parameter inside the Reducer
function comes from the dispatchedAction.
Let’s connect the React search component with the Redux store. The React-Redux library has official React bindings for Redux.
It provides the connect
function to connect the component to the store.
mapDispatchToProps
means map the Action’s dispatch
function to React component’s this.props
.
The same applies to mapStateToProps
, where the Reducer’s state is mapped to React component’s this.props
.
- Connect React to Redux.
- The
mapStateToProps
andmapDispatchToProps
deals with the Redux store’sstate
anddispatch
, respectively. - Reducer’s
state
and the Action’sdispatch
are available viathis.props
to the React component.
Let us summarize the entire React to Redux connect workflow via a button click from the React search component.
- Click the
submit
button on the React search component - The
click
function dispatches an Action. The Actiondispatch
function is connected to the search component viamapDispatchToProps
and is made available tothis.props
- (out of scope for this post) The dispatched action is responsible to
fetch
data and dispatch another action to update the Reducer state - The Reducer state updates itself with the new search data available from Step 3.
- The Reducer state is already connected to
this.props
in the search component viamapStateToProps
this.props
has the latest search data and the view now re-renders to show the updated search results
Source: https://medium.freecodecamp.org/how-to-connect-react-to-redux-a-diagrammatic-guide-d2687c14750a
Written by
Princiya
Coder, Speaker, Thinker, Writer, Foodie & Traveller