Like any good system, MobX is built up of layers where each layer provides the services and behaviors for the higher layers. If you apply this lens on MobX, you can see these layers, bottom-up:
- Atoms: Atoms are the foundation of MobX observables. As the name suggests, they are the atomic pieces of the observable dependency tree. It keeps track of its observers but does not actually store any value.
- ObservableValue, ComputedValue, and Derivations: ObservableValue extends Atom and provides the actual storage. It is also the core implementation of boxed Observables. In parallel, we have derivations and reactions, which ...