非常教程

MobX参考手册

改变 Observables

直接操控 Observable

直接操控 Observable

现在有一个统一的工具 API 可以操控 observable 映射、对象和数组。这些 API 都是响应式的,这意味着如果使用 set 进行添加,使用 valueskeys 进行迭代,即便是新属性的声明都可以被 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"})
MobX

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

MobX目录

1.简介 | Introduction
2.API 概览
3.观察 | Observable
4.对 Observables 作出响应
5.改变 Observables
6.工具函数
7.贴士与技巧