Mainly, there are three major principles of Redux :
- Single source of truth: A single store, stores the state of the entire application in an object/ state tree. The single state tree makes it simpler to keep track of changes over time and inspect or debug the application.
- State is read-only: The only way to change the state is to trigger an action. An action is a plain JS object describing the change. Just like state is the minimal representation of data, the action is the minimal representation of the change to that data.
- Changes are made with pure functions: In order to specify how the state tree is transformed by actions, you need pure functions. Pure functions are those whose return value depends solely on the values of their arguments.