# MobX

MobX is a state management library that makes state as transparently and reactively as possible, like a spreadsheet. It is less opinionated than Redux and allows for more freedom in how you structure your state and mutations.

**How MobX Works:**

* **Observable State**: MobX turns the state you're using into observables. You can make almost any JavaScript value observable, including primitives, arrays, and objects.
* **Reactions**: When the observable state changes, MobX reacts to these changes and automatically applies them to any related computations or side-effects. This is similar to how a spreadsheet recalculates formulas based on changing cells.
* **Actions**: Although not as strict as Redux, MobX encourages changes to the state to be made within actions. This isn't enforced but is considered a best practice.

**Services Provided by MobX:**

* **Transparent Reactivity**: MobX provides a mechanism for transparently applying functional reactive programming (FRP). The library takes care of the complexity of tracking dependencies and updating computations automatically.
* **Efficient Updates**: MobX only re-computes values when relevant data changes, making it highly optimized and efficient.
* **Simplicity**: MobX is straightforward to set up and requires less boilerplate code than Redux, which can be a significant advantage for smaller projects or for those who prefer a more flexible approach.

<br>
