Mobx未观察到初始化时未定义的对象属性

时间:2020-03-05 08:18:59

标签: reactjs typescript mobx mobx-react

示例代码

interface Car {
   id: string,
   wheels: string,
   engine: string
}

class ExampleStore {
@Observable car:Car

public set car(value: Car){
    this.car = value
}
}

//Setting value of the car for the first time

const carExample = {
   id: "122",
   engine: "ABC and co."
}

car(carExample)

// Updating the value of car

const carExampleUpdate = {
   id: "122",
   wheels: "",
   engine: "ABC and co."
}

这里的问题是,当您第一次设置无轮属性的汽车的值时,Mobx默认情况下不会观察轮。因此,当您更新带有轮子的汽车的价值时,Mobx仍将不会观察到轮子的属性,因为在初始设置中并未提及。

我们如何让mobx观察轮的属性?

1 个答案:

答案 0 :(得分:0)

要回答这个问题,我们只需要使用extendObservable

 extendObservable(this.car, { wheels: "4" });

使用此属性后,mobx将开始观察该属性。