In this chapter, we covered the practical aspects of adopting MobX with packages such as mobx-utils
and mobx-state-tree
. These packages codify the community wisdom around using MobX for a variety of scenarios.
mobx-utils
gives you a set of utilities for tackling asynchronous tasks, dealing with expensive updates, creating view models for transactional-editing, and much more.
mobx-state-tree
is a comprehensive package that is meant to simplify application development with MobX. It takes a prescriptive approach to structuring and organizing the observable state in MobX. With such a declarative approach, MST is able to get a deeper understanding of the state-tree and offer a variety of features, such as runtime type-checking, snapshots, JSON-patches, middlewares, and so on. Overall, it helps in developing a crisp mental model of your MobX application and puts the typed-domain-model at the forefront.
In the next chapter, we will culminate the journey on MobX with a peek into its inner workings...