MobX 瞭解一下

MobX

MobX 是一個經過戰火洗禮的庫,它通過透明的函數響應式編程(transparently applying functional reactive programming - TFRP)使得狀態管理變得簡單和可擴展。MobX背後的哲學很簡單:

 

 

React 和 MobX 是一對強力組合。React 通過提供機制把應用狀態轉換爲可渲染組件樹並對其進行渲染。而MobX提供機制來存儲和更新應用狀態供 React 使用。

對於應用開發中的常見問題,React 和 MobX 都提供了最優和獨特的解決方案。React 提供了優化UI渲染的機制, 這種機制就是通過使用虛擬DOM來減少昂貴的DOM變化的數量。MobX 提供了優化應用狀態與 React 組件同步的機制,這種機制就是使用響應式虛擬依賴狀態圖表,它只有在真正需要的時候才更新並且永遠保持是最新的。

核心理念

狀態是每個應用程序的核心,並且沒有更快的方法來創建錯誤的,無法管理的應用程序,而不是通過產生與周圍存在的局部變量不同步的不一致狀態或狀態。因此,許多狀態管理解決方案試圖限制您修改狀態的方式,例如通過使狀態不可變。但這引入了新的問題; 數據需要規範化,不再能保證參照完整性,並且幾乎不可能使用像原型這樣的強大概念。

MobX通過解決根本問題使狀態管理再次變得簡單:它使得不可能產生不一致的狀態。實現這一目標的策略很簡單: 確保可以派生出可以從應用程序狀態派生的所有內容。自動。

 

 

  1. 首先,有應用程序狀態。構成應用程序模型的對象,數組,基元,引用的圖形。這些值是應用程序的“數據單元”。
  2. 其次有推導。基本上,任何可以從應用程序狀態自動計算的值。這些派生或計算值的範圍可以從簡單的值(如未完成的待辦事項的數量)到複雜的東西(如todos的可視化HTML表示)。在電子表格術語中:這些是您的應用程序的公式和圖表。
  3. 反應與推導非常相似。主要區別在於這些函數不產生值。相反,它們會自動運行以執行某些任務。通常這是I / O相關的。他們確保更新DOM或在適當的時間自動生成網絡請求。
  4. 最後還有行動。行動是改變國家的所有事情。MobX將確保由您的操作引起的對應用程序狀態的所有更改都由所有派生和反應自動處理。同步無故障。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章