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

The book search

The use-case for our simple React app is one from traditional e-commerce applications, that is, searching for a product in a giant inventory. In our case, the search is for books. We will use the Goodreads API to search for a book by title or author. Goodreads requires us to register an account to use their API. 


Create a Goodreads account by visiting this URL: You can use your Amazon or Facebook account to log in. Once you have the account, you need to generate an API key to make the API calls.

Goodreads exposes a set of endpoints that give back the results in XML. Agreed, it's not ideal, but they have an extensive collection of books and it's a small price to pay to convert XML into a JSON object. In fact, we will use an npm package for this conversion. The endpoint we will be using is search-books ( 

The UI for our app will look something like the following: