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
Packt Upsell

Derived state with @computed

One of the core philosophies of MobX is that the observable state should be as minimal as possible. Everything else should be derived via computed properties. This perspective makes sense when we talk about state management in UI. The UI is always nuanced on the same observable state and needs different views of the state depending on the context and task. This means that there are many possibilities for deriving a view-centric state (or representation) within the same UI.

An example of such a view-centric state is a table view and a chart view of the same list of observables. Both are operating on the same state but need different representations to satisfy the UI (the view) needs. Such representations are prime candidates for state derivations. MobX recognizes this core requirement and provides computed properties, which are specialized observables that derive their value from other dependent observables.

Computed properties are very efficient and cache the computation...