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

Modeling the stores

It can seem like a daunting task when you start to model the client state for your React Application with MobX. An idea that can help you on this journey is the simple realization that your application is just a collection of features, composed together to form a cohesive unit. By starting with the simplest feature, you can string the rest of the app together, one feature at a time.

This style of thinking guides you to model your feature-level-stores first. The app-level-store (also called the Root Store) is just a composition of these feature stores with a shared communication channel. In the MobX world, you start with a class to describe the feature store. Depending on the complexity, you can break the feature store into many sub stores. The feature store acts as the coordinator of all the sub stores. This is the classic divide and conquer approach to modeling software:

Let's take an example to illustrate this approach to modeling the reactive client state. In the book...