A Redux Overview

So let's take a look at the schema above. Actually as a shape of operations described, nothing changes. Let's analyze one by one the metaphors we used and how they apply to the redux's functionality.

Instead of the balance, we have the actual state. This is centralized and it can contain more than one variables and their respective values (in form of an object or array eventually). These values when changed produce an updated state

The state, that is centralized now with redux, can be changed only by the reducer function (the father before). The reducer is a function that decides which part of state should be updated and how every time it receives an action triggered by some component. 

The components trigger these actions (via a click of a button or submit of a form or any other type of event), and then, they have to inform the reducer, that this action should be made. That means that this action should be dispatched accordingly. 

Once the state has been updated by the reducer, the components who subscribe to the state, receive the updated values of the state, and they depict it.

This is all good theory until now. But how can we actually implement this functionality with redux? Let's find out.