To me, React — just like Preact, Svelte or lit-html — provide mainly one feature of interest: Turning state into DOM, ideally in an efficient manner. Your business logic manipulates a state object and your UI framework consumes said object to update your UI accordingly. These frameworks enable you to have a clear separation between state and UI. Nonetheless, I often see people encapsulate their business logic into their (visual) components tied to component-internal state. This is where Redux can help. Redux is a popular “state container”, centralizing your state and all its mutations in one place, outside your components, reenforcing the aforementioned separation.