In this chapter, we first covered what middleware is. Then, we specifically focused on Redux store middleware and how it can be used. Finally, we covered how to directly extend the Redux store by creating our own middleware. To wrap up, we ended the book with a section on general tips and tricks for developing Redux applications.
In this book, we started out focusing on why and how Redux works. Afterward, we dove deeper into how to use Redux in combination with a UI library, such as React or Angular. Then, we moved on to implement common functionalities in our Redux application--user authentication, interfacing with APIs, writing tests, and routing. Finally, we discussed extending Redux itself, by solving common problems with state management (such as undo/redo functionality) through higher-order reducers and middleware.