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

Page routing


Single page apps (SPA) have become commonplace in many of the web apps we see today. These apps are characterised by the use of logical, client-side routes within a single page. You can navigate to various parts (routes) of the application by modifying the URL without a full page load. This is handled by libraries such as react-router-dom, which works with the browser history to enable URL driven route changes.

Route change or navigation can be treated as a side effect in the MobX world. There is some state change happening to the observables, which results in navigation happening in the SPA. In this example, we will build this observable state, which tracks the current page shown in the browser. Using a combination of react-router-dom and the history package, we will show how routing becomes a side effect of the change in observable state.

The Cart checkout workflow

Let's look at a use-case where we can see the route change (navigation) as a MobX-driven side effect. We will use...