Helpers - компьютеры, интернет, программирование

types.reference не разрешает ссылку в дереве состояний mobx

Я пишу функцию поиска, которая возвращает массив ModelA или ModelB, но когда я использую ссылки в моем компоненте, ссылка по-прежнему остается строкой. Судя по документации, я ожидал, что это будет реальный ModelA или ModelB, поэтому я чувствую, что делаю что-то не так.

В моем корневом хранилище я создаю такой массив ссылок:

searchResults: types.array(
      types.union(
        types.late(() => types.reference(ModelA)),
        types.late(() => types.reference(ModelB)),
      ),
),

Когда я получаю их обратно из запроса, они загружаются в магазин (я проверяю, выполнив store.modelBs.get(<one of the ids>), но компонент по-прежнему получает массив строк:

введите описание изображения здесь

Кто-нибудь знает, действительно ли это / что я здесь делаю не так?


Ответы:


1

Для потомков я обнаружил, что невозможно иметь массив ссылок, содержащий более одного типа. Mobx-state-tree не может определить, на какой тип модели ссылается идентификатор, и выдает ошибку: Failed to resolve reference 'idB1' to type 'AnonymousModel'.

Пример CodeSandbox

изменить: для этого используйте параметр конфигурации диспетчера для типа объединения, как в этом комментарии: https://github.com/mobxjs/mobx-state-tree/issues/1162#issuecomment-459742443

25.07.2020
Новые материалы

Интуитивное понимание тензоров в машинном обучении
Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

Почему объяснимость так важна прямо сейчас?
По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

Анимированный математический анализ
Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

Создание простого слайдера изображений с помощью JavaScript
Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

Создание базы данных с помощью супергероя «Python»
В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

ИИ для чайников: руководство для начинающих по пониманию будущего технологий
Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..