Book Image

MobX Quick Start Guide

By : Pavan Podila, Michel Weststrate
Book Image

MobX Quick Start Guide

By: Pavan Podila, Michel Weststrate

Overview of this book

MobX is a simple and highly scalable state management library in JavaScript. Its abstractions can help you manage state in small to extremely large applications. However, if you are just starting out, it is essential to have a guide that can help you take the first steps. This book aims to be that guide that will equip you with the skills needed to use MobX and effectively handle the state management aspects of your application. You will first learn about observables, actions, and reactions: the core concepts of MobX. To see how MobX really shines and simplifies state management, you'll work through some real-world use cases. Building on these core concepts and use cases, you will learn about advanced MobX, its APIs, and libraries that extend MobX. By the end of this book, you will not only have a solid conceptual understanding of MobX, but also practical experience. You will gain the confidence to tackle many of the common state management problems in your own projects.
Table of Contents (17 chapters)
Title Page
Dedication
Packt Upsell
Foreword
Contributors
Preface
Index

A layered architecture


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 are the observers of the atoms. They respond to changes in atoms and schedule reactions. ComputedValue builds upon the derivations and also acts as an observable.
  • Observable{Object, Array, Map} and APIs: These data structures build on top of ObservableValue and use it to represent their properties and values. This also acts as the API layer of MobX, the primary...