- сбрасывается стейт MobX. как сделать так, чтобы стейт не сбрасывался?
можно юзать локалсторадж. но тут скорее вопрос в том, что "нормально ли это" (сбрасывание стейта между роутами)
хранить данные на серваке/локал сторадж
вроде как да, потому что компонент связанный с классом MobX через хук - ре-рендерится. а дефолтное значение - пустой объект (перед переходом на другой роут объект - не пустой)
поэтому quick fix - choicedTest: JSON.parse(localStorage.getItem('choiced-test') || '{}'),
как быть тогда?
Искать причину, по которой стейт сбрасывается. Потом устранять её
при смене роута компонент ре-рендерится
И при нормальном положении вещей это никак не должно влиять на стор mobx. Потому что компоненты читают стор и меняют его явным образом. Где-то в коде у тебя есть кусок, который сбрасывает состояние в сторе
я делал export class Module {} в компоненте import { Module } from '../stores/modules'; const [module] = React.useState(() => new Module())
короче, в коде нигде я не сбрасываю этот стейт. он сбрасывается если инстанс внутри хука useState юзать.
issue что ли создать у них в репозитории... непонятный момент
Очевидно, он должен сбрасываться — ты на каждый маунт компонента создаёшь НОВЫЙ стор
Обсуждают сегодня