- Redux (paired necessarily with React-Redux) is a great benefit for medium-to-large applications because it offers a convention for how data is fetched, consumed, passed from one component to another, and ultimately displayed in the UI.
- With Redux handling the updates to the global application state React can focus wholly on presentation and the handling of user events through props alone.
- The reason why Redux is used instead of local, ad-hoc changes within the presentation layer or some other centralized store where accessors can mutate state (like MobX, e.g.) is because these systems can inevitably leave data flow inconsistent across the application design translating to longer ramp-up time and more difficulty debugging.
- Instead, action creators are used exclusively to post updates to the state so that components can remain totally agnostic to state schema design: The immediate benefit of constructing an application this way is the certainty that every component and its data flow is architected the exact same way.
- The idea is to keep the application as decentralized as possible by allowing each Module to be responsible for its own feature requirements while at the same time keeping its data in the global store.