Once you are through the basics, there are some advanced topics to go through, such as React Router, Ajax and Async Actions, and Middleware. We will not cover them here since they are out of the scope of this book. However, we will just look at the important topic of Middleware in brief.
By default, Redux supports synchronous data flow only. To have asynchronous data flow, you will need to use Middleware. Middleware is nothing but a framework or library that provides a wrapper for your dispatch method and allows to pass functions and promises rather than just actions. Middleware is being used to mainly support asynchronous actions. There are many middlewares out there, such as redux-thunk for asynchronous actions. Middlewares are also useful for logging or crash reporting. We will also use redux-thunk in our application. To enhance createStore(), we need...