autorun回應式函式,常用與列印日志、持久化或者更新UI的代碼
var numbers = observable([1,2,3]);var disposer = autorun(() => console.log(sum.get())); // 輸出 '6' numbers.push(4); // 輸出 '10' disposer(); numbers.push(5); // 不會再輸出任何值,
observe可監聽新舊值newValue、oldValue
import {observable, observe} from 'mobx';
const person = observable({
firstName: "Maarten",
lastName: "Luther"
});
const disposer = observe(person, (change) => {
console.log(change.type, change.name, "from", change.oldValue, "to", change.object[change.name]);
});
person.firstName = "Martin";
// 輸出: 'update firstName from Maarten to Martin'
disposer();
// 忽略任何未來的變化
// 觀察單個欄位
const disposer2 = observe(person, "lastName", (change) => {
console.log("LastName changed to ", change.newValue);
});
本文地址:
https://www.cnblogs.com/stumpx/p/13415830.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/21695.html
標籤:JavaScript
