This post is intended for people with little to no understanding of Redux. I have excluded some details and have intentionally prioritized simplicity over completeness. My goal is to give the readers a jump start in Redux and present it as simply as possible by just focussing on the core concepts.
What is Redux?
Simply put, Redux is a set of tenets (3 in particular) on which you abide by. These tenets describe why, how and when your application state changes. They are:
1. Single state
Your entire application’s state is saved in a single state object. This is radically different from the best practices we were used to so far; i.e each component maintains and manages its own state.
2. State can only be changed by emitting ‘Actions’
The single state object mentioned above is read-only. The only possible way to change state is by emitting an action. Action is an object which describes an event. Note that emitting an action doesn’t itself changes the state. Action only specifies that some state changing event happened.