Redux
Flux leads us to separate our Backend
class into a dispatcher and a store as a means of decoupling from a single state store and implementation. This leads to quite a bit of boilerplate, and we still have some coupling (to global dispatcher and store objects). It's great to have some terminology to work with, but it doesn't feel like the best solution.
What if we could decouple actions and storage and remove the global objects? This is what Redux seeks to do along with reducing boilerplate code and bringing about better standards overall.
Note
You can download the Redux tools by running npm install --save redux react-redux
in addition to the previous dependences. Redux is also just a pattern, but the tools in these libraries will help greatly in setting things up.
Redux can be a lot to take in at first, but there are some simple underlying things which bind it all together. For a start, there's the idea that all state is held in immutable objects. This state should only be transformed...