Why Redux?
Before we get started with refactoring your application, we'll spend a couple of minutes looking at Redux at a high level. Just enough to whet your appetite. Ready?
One store to rule them all
The first major difference between traditional Flux applications and Redux is that, with Redux, you only have one store. A traditional Flux architecture might only call for one store as well, but it might have several of them. You would think that having multiple stores could actually simplify the architecture since you could separate states by different sections of the application. Indeed, this is a good tactic, but it doesn't necessarily hold up in practice. Creating more than one store can lead to confusion. Stores are moving parts in your architecture; if you have more of them, there's more potential for something to go wrong.
Redux removes this factor by allowing only one store. You might think that this would lead to a monolithic data structure that's difficult for...