非常教程

MobX参考手册

工具函数

extendObservable

extendObservable(target, properties, decorators?, options?)

ExtendObservable 用来向已存在的目标对象添加 observable 属性。 属性映射中的所有键值对都会导致目标上的新的 observable 属性被初始化为给定值。 属性映射中的任意 getters 都会转化成计算属性。

decorators 参数用来重载用于指定属性的装饰器,类似于 decorateobservable.object

使用 deep: false 选项可使得新的属性变成浅的。也就是说,阻止它们的值自动转换成 observables 。

var Person = function(firstName, lastName) {
    // 在一个新实例上初始化 observable 属性
    extendObservable(this, {
        firstName: firstName,
        lastName: lastName,
        get fullName() {
            return this.firstName + " " + this.lastName
        },
        setFirstName(firstName) {
            this.firstName = firstName
        }
    }, {
        setFirstName: action
    });
}

var matthew = new Person("Matthew", "Henry");

// 向 observable 对象添加 observable 属性
extendObservable(matthew, {
    age: 353
});
Copy

注意: observable.object(object) 实际上是 extendObservable({}, object) 的别名。

注意: 类似于 extendObservabledecorate 用来为对象引入 observable 属性。不同之处在于 extendObservable 被设计为直接在目标实例上引入属性,其中 decorate 将它们引入原型; 可以直接将它传递给构造函数 (类),也可以将其作为其他人的原型。

MobX

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

MobX目录

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