Ответ
MobX использует декораторы (декораторы свойств @observable, @computed, @action) и Proxy API (в современных версиях) для отслеживания изменений в данных.
Пример:
import { observable, computed, action } from "mobx";
class Store {
@observable count = 0;
@computed get doubleCount() {
return this.count * 2;
}
@action increment() {
this.count++;
}
}
Proxy позволяет MobX перехватывать обращения к свойствам и автоматически управлять реактивностью без декораторов (если используется makeObservable/makeAutoObservable).
Важно:
- В старых версиях MobX использовал
Object.defineProperty. - Современные версии полагаются на Proxy для лучшей производительности и поддержки динамических свойств.