As per the official documentation, Redux is a predictable state container for Javascript objects. If you are familiar with React, you will be aware that each Component will have its state and it may become complex to manage the state of different Components as the complexity of application grows. Redux would be very helpful in managing the state of your React project. Although, in this post, I'll stick with the basics of Redux, which is a standalone Javascript package and can be used with libraries other than React. Let's start by understanding the essentials for Redux :- Store : Store is basically a container which holds your application state. It is the core of the Redux project. Each project will have only single store and will provide methods for the following main activities :- Get the current state of the Store Update the state of the Store Subscribe/Unsubscribe listeners to the state change events Actions : Actions are payload of information that are dispat