Developing a Redux Edge

This book is for anyone wanting to learn about Redux, a predictable state container for JavaScript apps. It is aimed at intermediate developers who have a good understanding of creating single page applications with JavaScript. Having an understanding of ES6, functional programming, and React will certainly help too, but isn’t necessary. If you want to follow along with the examples you should also know your way around a terminal, and know what Node and npm are, as well as having them installed and ready to use.

Redux aims to decouple state mutation and asynchronicity, separating them so that you can reason about them individually. If you have a problem with state, you can debug the state tree to determine how the state was created without having to worry about asynchronous logic. Likewise, if you have a problem with your asynchronous logic, you can focus on debugging it without having to worry about state. This opens up a range of additional benefits, ranging from improvements to developer workflows to easier unit testing. All of this due to the separation of asynchronous logic from state mutation.