I found the final React and Redux project to be the most challenging of the five Flatiron assignments, as it was the culmination of all of our lessons and tested how well we could draw on our previous sections. Each project thus far has built upon on our historical knowledge, slowly revealing the complexities of modern day applications.
While this type of foundational learning is standard, the Redux section required me to unlearn what I had previously believed to be true about states and props. To understand Redux and use it in my project, I first needed to understand why it’s needed.
Why use Redux?
- Redux makes state predictable.
- Redux allows us to more easily maintain our larger applications.
- Redux makes debugging easier.
- State persistence.

Consider the image above, in larger applications there are more parent and child relationships and hundreds of components. It becomes very difficult to follow the state and props that are being passed through each of these, therefore a universal Redux store where we can access the state is very valuable.