danielchistyakov
@danielchistyakov
Frontend Developer

Почему undefined при выводе из Mobx конкретного объекта?

Доброго времени суток, пытаюсь вывести информацию с Mobx, но при обращении к конкретному объекту - undefined, однако при этом если обращаюсь к глобальной переменной, то всё хорошо. Подозреваю, что дело в асинхронности, кто-нибудь может поделиться решением?
Ссылка на CodeSandbox
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
0xD34F
@0xD34F
Когда обращаетесь к значению, его ещё нет.

А изменения не отслеживаются.

Класс DB - надо добавить дефолтное значение:

class DB {
  info = null;
  ...

Компонент Episodes - добавить эффекту значение DB.info в качестве зависимости:

const Episodes = observer(() => {
  useEffect(() => {
    ...
  }, [ DB.info ]);
  ...

Если же не хотите видеть дефолтное значение info внутри Episodes, тогда его экземпляр следует рендерить только при наличии данных, в App замените return <Episodes />; на return DB.info && <Episodes />;.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы