What are the different principles of Redux?

Mainly, there are three major principles of Redux :

  1. 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.
  2. 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.
  3. 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.