使 class static 属性 在 mobx-6 中可见

make class static property observable in mobx-6

这是我的代码:

export default class ViewStore {
    templateName = '';
    static views = [];
    constructor(mainStore: MainStore) {
        makeObservable(this, {
            templateName: observable,
            ViewStore.views: observable,
        });
    }
}

我想将视图定义为可观察的。我试过用 this. viewsviews 来引用它,但是 none 也起作用了。

在 mobX5 中,可以通过在视图之前定义 @observable 来定义它,如下所示:

@observable static views = [];

但我不知道如何在 mobX 6 中实现这个

基本上与您使用 MobX@5 的方式相同,但没有装饰器 api:

import { observable } from "mobx";


export default class ViewStore {
    templateName = '';
    // Call observable as a function
    static views = observable([]);
    constructor(mainStore: MainStore) {
        makeObservable(this, {
            templateName: observable,
            // No need this line
            // ViewStore.views: observable,
        });
    }
}