Three Core Concepts of Redux
To conclude this introductory theoretical part, we will introduce three main Redux concepts that need to be followed when building applications.
The first is that there is a single source of truth. The global state of your application is stored in a tree of objects inside a single store.
The second concept is that the state is read-only. The only way to change it should be to create an action - an object that describes what happened.
The third concept tells us that only pure functions can participate in changes. That is, in order to specify how your state tree should change, you must write a pure reducer.