When coming from large frameworks like Backbone, Ember or KnockoutJS, as many of us do, it's easy to get used to the fact that the framework provides a lot of "magic". The abstractions they provide, while extremely useful, are often so opaque that even if you wanted to, understanding how they are implemented is a hard task.
Because of this, it's no surprise that we expect the same thing from Redux. We see methods like combineReducers
and concepts like action creators
and assume that they are complicated, magical beasts that cannot be understood by mortal folk.
The intention of this post is to refute that by taking a look at the central concept of Redux - the store.
Every solution has a problem that it attempts to solve. Redux's problem is that application state is often spread out and complicated to reason about. The solution it provides is what it calls a state container
- the store.