类类型的 MOBX 可观察字段不起作用



我在项目中使用MobX 6+,并且我有一个带有@observable注释字段的类,该字段包含类类型。我用初始化类型

class MyClass {
@observable myObservableField = ClassToInitialize;

problemHere() {
....
const MyType = this.myObservableField;
const TypeInstance = new MyType(); // <-- Error is thrown at this line
....
}
}
class ClassToInitialize {
constructor() {
....
}
}

然而,我得到以下错误:

Uncaught TypeError: Class constructor IgnoreRegion cannot be invoked without 'new'

调查该问题后,它似乎是由于MobX将字段封装在代理函数中而发生的。

为了解决此问题,请使用shallow:

class MyClass {
@observable.shallow myObservableField;
....
}

最新更新