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

Summary


Once you make the broad cuts on the observable state, it is time to tailor it further with the observable decorators. This gives you better control of the observability and improves the performance of the MobX reactivity system. We have seen two different ways of doing this: one with the @decorator syntax and the other using the decorate() API.

It is also possible to add new observable properties on the fly with extendObservable(). In fact, you can even add new actions and computed properties with extendObservable().

Observable State = Core State + Derived State

The core state and the derived state are two aspects of the observable state in MobX. This is easy to model with classes and decorators, as shown in the preceding sections. Once you identify the vocabulary of your feature, they become the class names that encapsulate the observable state. To handle the complexity of the feature, you can break it into smaller classes and compose them in the feature store. These feature stores...