Redux is a predictable state container for JavaScript apps, designed to help you write applications that behave consistently.
1The Prop Drilling Problem
In standard React, data flows down via props. If a component at the very bottom needs data from the very top, every component in between must pass that data through, even if they don't use it. This is called 'Prop Drilling'. Redux solves this by creating a global cloud of data (the Store) that any component can reach into directly, regardless of where it is in the tree.
2Unidirectional Data Flow
Redux enforces a strict pattern. Data only moves in one direction. You can't just change state. You must create an Action, Dispatch it, let a Reducer handle it, and then the Store updates. This might seem like extra work, but it makes debugging incredibly easy. Since every change is triggered by an Action, you can track exactly what happened and when.
