1.@observable 是一種讓數據的變化可以被觀察的方法
//@observable data 注冊一個數據,這個數據將會成為一個可mobx監測的數據
2.decorator 修飾器只能修飾 類 或 類成員
3.對可觀察的數據做出反應
@computed 計算 -- 對引入的可觀察數據進行處理,返回新的可觀察數據(可以將多個可觀察數據組合成一個可觀察數據)
@computed get XXX (){
return AAA
}
//computed 是自動監測已注冊的數據,如果已注冊的數據有改變自動執行這個函數
不可循環引用
@autorun 自動運行 -- 修改autorun引用的可觀察數據,導致autorun 自動運行(首次加載會自動運行,自動追蹤可觀察數據)
@when 接收兩個函數參數,第一個函數根據引入的可觀察數據返回一個布爾值,當布爾值為 true 的時候,則執行第二個函數(when 提供了條件執行邏輯)
@reaction 接收兩個函數參數,第一個函數根據可觀察函數,數據變化后,返回一個新的值,該值作為第二個函數的參數
4.修改可觀察數據
@action 只執行一次
@action.bound toggle() {}
//注冊action ,action里面可以改變mobx注冊的數據,從而改變store里的數據
5.@observer 修飾react組件類
import { inject, observer } from 'mobx-react';
真正用到可觀察數據的組件才會被 observer 修飾
6.mobx 自帶的 remove 不需要傳入id
7.mobx -- observe spy() toJS() trace()在父組件中調用
observe 組件及組件成員發生變化
spy 監控所有的情況的變化
toJS 將可觀察數據,轉化成普通數據
trace(true) 多用於debug調試
8.@inject 注入需要的store