繁体   English   中英

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

[英]No chance to make an strongly typed object observable by mobx

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

@observable items = [];

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

let x = {
Title: "sample title"
}

items.push(x);

但是当我定义一个强类型的对象时(使用打字稿)

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");

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

因此,在您的课堂上,只需将您的字段(标题)也标记为@observable ,就可以了。 参见: https : //mobxjs.github.io/mobx/refguide/object.html ,第二项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM