Having problem where the state in mapDispatchToProps appears to be updating, yet the component does not re-render to reflect these changes, even though... presenter component is correctly connected to redux actions (can successfully initialize props via mapDispatchToProps and call mapDispatchToProps functions, in any case) However, this only works correctly if you are using the "magic" createReducer function from Redux Toolkit that wraps this reducer in Immer's produce function. If this reducer is used without Immer, it will actually mutate the state!. It's also not obvious just by looking at the code that this function is actually safe and updates the state immutably. Apr 02, 2018 · Redux: Re-Rendering Caused by mapDispatchToProps I’ve worked on a couple of React / Redux projects now, and it was only recently that I realized some of the re-rendering issues I’ve run into were being caused by incorrectly using connect , and specifically the second argument to connect — mapDispatchToProps . We’ll create a custom component called DadJokeProvider, which will internally manage state and wrap its children in a context provider. Remember, updates to its state won’t re-render the whole app because of React’s children optimization that we mentioned earlier. So let’s create a file called contexts/dad-joke.js: Jun 27, 2018 · The use of render prop allows code re-use throughout the project while maintaining this logic of nesting React components. It is a powerful pattern, less magical than the HOC . Furthermore, it will adapt to the possible implementation of Redux when the time comes. Speaking of the code that uses the action to update our application state, in Redux terminology this part is called a "reducer." Reducers. So if an action is a "news report" a reducer is a person reading the report and choosing if they want to change anything about themselves in response. How, and if that person changes is entirely up to them.