У меня есть следующий код: Он отлично работает, если _isFavorite
переменная public observable
. Но как только я изменяю его на @computed
, он срабатывает только один раз. Но в дальнейшем @action
вызовы не запускаются @computed
.
Это работает нормально, как только isFarovite
изменяется:
class Cat {
@observable public isFavorite = false;
constructor() { ... }
@action public toggleFavorite() {
this.isFavorite = !this.isFavorite;
}
}
Это не работает, если _isFavorite
изменилось:
class Cat {
private _isFavorite = false;
constructor() { ... }
@computed public get isFavorite() {
return this._isFavorite;
}
@action public toggleFavorite() {
this._isFavorite = !this._isFavorite;
}
}
Я думаю, что я мог бы упустить основную концепцию того, как «вычисляются», но я не могу понять, как я должен изменить свой код ...