logic 2. STORES register themselves with the dispatcher and provide callbacks for different action types 3. After logic is executed, STORES broadcast an event declaring the state has changed
minimal API but completely predictable behavior, so it is possible to implement logging, hot reloading, time travel, universal apps, record and replay, without any buy-in from the developer.”
of your whole application is stored in an object tree within a single store. • State is read-only - the only way to mutate the state is to emit an action, an object describing what happened. • Changes are made with pure functions - to specify how the state tree is transformed by actions, you write pure reducers.
with regards to the application’s state • Simplicity (clear data flow) • Predictability (because of reducers being pure functions - they only compute the next state) • Easily testable
always write pure reducers, which puts the worry on the developer itself to make sure he never breaks things • Pretty functional in approach (different paradigm) • Memory intensive? (a single store) • Single store - an all or nothing tradeoff