【发布时间】:2016-09-29 12:53:55
【问题描述】:
我有一个可观察对象,我想在其中存储一些数据。 键是我的客户实体的唯一 ID,值是客户订单的数组(它们本身就是对象)。
我初始化一个对象:
@observable data = {};
然后,当我从网络获取数据时,我想存储它们,使用:
@action
saveData(customerId, ordersForCustomer) {
this.data = extendObservable(this.data, {
[customerId]: observable(ordersForCustomer);
}
}
不幸的是,我的对象(或其属性)似乎没有被监视。
这是为什么?我该如何解决这个问题?关于可观察对象如何使用数组作为其值,我需要了解一些特别的东西吗?
【问题讨论】:
-
它将被改变,所以你不需要
this.data = ...。试试extendObservable(this.data, { [customerId]: ordersForCustomer }。这行得通吗? -
不,它没有。我通过使用可观察地图解决了我的问题。但是,我还是想知道是怎么回事。
标签: javascript arrays observable mobx