У меня есть компонент реакции, который использует useEffect в зависимости от состояния mobx:
useEffect((): (() => void) => {
console.log(appState.getCurrent());
}, [appState.getCurrent()]);
соответствующий код в состоянии mobx:
@observable private current = {} as any;
@action public setCurrent(c: any) {
this.current = c;
}
@computed public getCurrent() {
return this.current;
}
Очень странно, но useEffect вызывается дважды с одним и тем же значением.
Отладка метода setCurrent, он вызывается только один раз.
Еще более странно - я попытался изменить зависимость на appState.getCurrent (). Id и он по-прежнему дважды попадал в useEffect с тем же значением.
Может ли это быть из-за использования свойства mobx как зависимости от useEffect?
Как я могу решить эту проблему?