Redux Data Flow :
Redux follows the unidirectional data flow.
It means that your application data will follow in one-way binding data flow.
As the application grows & becomes complex, it is hard to reproduce issues and add new features if you have no control over the state of your application.
Redux reduces the complexity of the code, by enforcing the restriction on how and when state update can happen.
This way, managing updated states is easy.
the restrictions as the three principles of Redux.


Principles of Redux :
Redux is determined by three most important principles

1.Single Source of Truth
2. State is Read-only
3.Changes are made with pure functions

An action is dispatched when a user interacts with the application.
The root reducer function is called with the current state and the dispatched action. The root reducer may divide the task among smaller reducer functions, which ultimately returns a new state.
The store notifies the view by executing their callback functions.
The view can retrieve updated state and re-render again.