Я выполняю рефакторинг исходного кода моего веб-приложения, используя MobX в качестве хранилища данных, и хочу использовать предлагаемые частные поля класса .
К сожалению, частные поля не работают с декораторами MobX, например, @observable
:
class Game {
@observable.ref #levelPack;
get levelPack() {
return this.#levelPack;
}
}
Пропускание вавилона завершается с ошибкой:
Значение свойства ожидаемый тип строки, но имеет значение null
ESLint также недоволен этим:
TypeError: Cannot read property 'type' of undefined
Я пытался использовать exteObservable в конструкторе, но он также не работает:
class Game {
constructor() {
extendObservable(this, {
#levelPack: null
});
}
get levelPack() {
return this.#levelPack;
}
}
.babelr c
{
"presets": [
"@babel/env",
"@babel/react",
"mobx"
],
"plugins": [
"@babel/plugin-syntax-dynamic-import"
]
}
Мой вопрос: можно ли использовать частные поля класса с декораторами?