没有机会使mobx可以观察强类型对象

时间:2016-10-10 12:30:40

标签: javascript typescript observable mobx mobx-react

我使用mobx库。它非常适合ReactJS。 我有这样的可观察数组:

@observable items = [];

当我以这种方式添加对象时,我没有问题,并且可以按预期观察给定对象。

let x = {
Title: "sample title"
}

items.push(x);

但是当我定义一个强类型对象(使用typescript)

export class SampleObject {
    Title: string;
    constructor(title: string) {
        this.Title = title;
    }   
}

并以这种方式推送新对象,这是不可观察的

items.push(new SampleObject("Sample Title"));

我该如何解决这个问题!?

x和y之间有什么区别?!

var x = {
Title: "sample"
}

var y = new SampleObject("sample");

1 个答案:

答案 0 :(得分:4)

MobX仅在将普通对象自动转换为可观察对象时将其转换为可观察对象。一个数组,因为对于类实例,否则它可能会干扰该类的内部。

所以在你的课堂上,只需将你的字段(标题)标记为@observable,你就应该好好去。见:https://mobxjs.github.io/mobx/refguide/object.html,第二个子弹