淺談mobx狀態管理


1.回憶redux

redux:   action,store,reducer        Component

action的觸發:一般通過手工去觸發,或通過組件去派發

store對象:store對象是通過redux的createStore創建的,拿到store對象后,做dispatch,去派發一個action

action包含兩個數據,一個是action的類型,一個是payload(載荷)

action一旦被派發,注冊在reducer中的store會自動運行

所以在創建store的時候,要搭一個reducer

reducer就是一個純函數,用來返回一個新的狀態

reducer需要返回什么狀態需要action去告訴他

最后store要把action透明的給reducer,reducer返回一個新的state

還需要subscribe做一個訂閱,才知道這個狀態更新了

2.回憶vuex

vuex:   action,mutation,state     Component

通過組件去派發action,還是通過dispatch

action有個類型,類型有兩種寫法,一種是寫個type,一種是通過函數的形式寫個參數,還有載荷

action中間要做一件事就是commit,只有commit后才能調用mutation的那些方法

commit的操作是需要人工完成的,可以通過你的組件直接commit,也可以在action里面進行異步操作完了以后去commit

commit被觸發后就會調用mutation,mutation就會修改原有的state

vue的響應式設計,state修改后,會自動render組件(必須給每個組件注入store)

3.mobx

4.@action @oservable  稱之為裝飾器,裝飾器是為了增強原有的類或方法的能力

5.安裝        yarn add mobx

啟動項目    yarn start

6.mobx細節

observable   可觀察的

數組

對象

ES6的map

variable

 

7.彈射

命令   yarn eject

yarn  add   @babel/plugin-proposal-decorators  --dev

yarn  add   @babel/preset-env  --dev

yarn add babel-plugin-transform-class-properties  --dev

8.(@)computed     既可以當做裝飾器,又可以當成方法使用

計算屬性作為裝飾器的話,必須在前面加一個get

9.autorun

10.when

11.reaction

12.yarn add mobx-react

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM