MobX参考手册
改变 Observables
直接操控 Observable
直接操控 Observable
现在有一个统一的工具 API 可以操控 observable 映射、对象和数组。这些 API 都是响应式的,这意味着如果使用 set
进行添加,使用 values
或 keys
进行迭代,即便是新属性的声明都可以被 MobX 检测到。
-
values(thing)
将集合中的所有值作为数组返回 -
keys(thing)
将集合中的所有键作为数组返回 -
set(thing, key, value)
或set(thing, { key: value })
使用提供的键值对来更新给定的集合 -
remove(thing, key)
从集合中移除指定的项。用于数组拼接 -
has(thing, key)
如果集合中存在指定的 observable 属性就返回 true -
get(thing, key)
返回指定键下的子项
import { get, set, observable, values } from "mobx"
const twitterUrls = observable.object({
"John": "twitter.com/johnny"
})
autorun(() => {
console.log(get(twitterUrls, "Sara")) // get 可以追踪尚未存在的属性
})
autorun(() => {
console.log("All urls: " + values(twitterUrls).join(", "))
})
set(twitterUrls, { "Sara" : "twitter.com/horsejs"})
改变 Observables相关

MobX 是一个经过战火洗礼的库,它通过透明的函数响应式编程(transparently applying functional reactive programming - TFRP)使得状态管理变得简单和可扩展。