In this chapter, you learned about some of the limitations that are inherent with the Facebook Flux component. For starters, it's not targeted for production environments, because it's a reference implementation for the Flux patterns. We're free to implement these dispatcher patterns however we like.
The essential aspects of a dispatcher are the ability to register store code that handles actions as they're dispatched and the ability to perform the dispatches. Given the simplicity of the requirements, it doesn't make sense to implement another singleton class. Instead, the dispatcher only needs to expose a register()
and dispatch()
function.
The big change with our implementation was with regard to dependency management. Instead of figuring out dependencies every time an action is dispatched, the register()
function sorts the stores
collection in such a way that satisfies the store dependencies. We then implemented a base store class that's used to simplify our store code by automatically...