首先什麼是mobx? mobx是一個數據管理庫。咱們使用mobx能夠根據業務的具體須要劃分多個store,能夠把全局狀態和組件內部狀態結合起來管理。最關鍵的是mobx上手比較簡單。redux
準確來講,mobx 是一個庫 (library),不是一個框架 (framework)。舉個例子,若是咱們把redux比喻成 是 cpu + 顯示器 + 鼠標 + 鍵盤等。那麼 mobx 就至關於一臺完整的筆記本電腦。什麼意思呢,最簡單粗暴的理解就是,mobx它相對於redux來講,使用起來更方便,上手更快一些。api
而且mobx採用觀察者模式,會自動響應 Store 的變化,無需手動添加判斷的代碼。框架
另外mobx它可使用多stores,有什麼好處呢,好處就是一個 store 只管理一個子 state,咱們能夠便根據組件的功能 或者 具體的領域實體來劃分多個store 。總而言之,mobx 只作一件事,解決 state 到 view 的數據更新問題。異步
咱們在使用MobX的時候會發現,它有三個主要核心的概念:觀測狀態,計算值和反應。這三個概念分別對應三個mobx的api:observable,computed和autorun函數
簡單來講mobx
另外咱們爲何提倡要儘可能減小使用state呢?方法
總而言之,咱們經過將數據狀態和更新操做從組件中抽離單獨管理起來,能夠更好的分離和解耦數據及控制器和視圖。更利於代碼維護。並且這樣解耦能夠很好解決組件間通訊的問題。cpu