When working with Redux, we've an advanced concept which is the
Middleware. The Middleware is added right
between our ACTION being dispatched and it reaching the
REDUCER. If there's any knowledge on server-side development,
we'll know what a Middleware is, what it's used for & why it
is used. Middleware basically is a term used for functions
(or, code in general) we hook into a process, which then gets as part of
that process without stopping it. And so, we can add
Middleware and the ACTION will still reach the
REDUCER thereafter, but we can do something with that
ACTION before it reaches the REDUCER (which can
be simply logging some info about the ACTION, or executing
Asynchronous Code, etc).