A typical Flux architecture will leverage this Dispatcher library, along with NodeJS’s EventEmitter module in order to set up an event system that helps manage an applications state.
Flux is probably better explained by explaining its individual components:
- Actions – Helper methods that facilitate passing data to the Dispatcher
- Dispatcher – Receives actions and broadcasts payloads to registered callbacks
- Stores – Containers for application state & logic that have callbacks registered to the dispatcher
- Controller Views – React Components that grab the state from Stores and pass it down via props to child components.
- Single directional data flow is easy to understand.
- The app is easier to maintain.
- The app parts are decoupled.