Нужна помощь корректно создать ссылку на стор через types.reference в mobx-state-tree

Помогите, пож-та, разобраться с types.reference в mobx-state-tree: https://mobx-state-tree.js.org/concepts/references Не стандартный способ использования reference: у меня кастомный "резолвер" для поиска ноды. В документации есть пример, когда вторым аргументом передаётся объект с кастомным геттером и сеттером. Имея похожую семантику, я получаю ошибку: "Error: [mobx-state-tree] expected mobx-state-tree type as argument 1, got undefined instead".

// стор:
import { types, getRoot, cast } from "mobx-state-tree";
import { OriginalNode } from "...";
export const Node = types
  .compose(
    AsyncModuleStore,
    types.model({
      id: types.string,
      originalNode: types.maybeNull(OriginalNodeStore),
    })
 )
.actions(() => ({
    setOriginalNode: () => self.originalNode = cast(self.id as any);
}))
export const OriginalNodeStore = types.reference(OriginalNode, {
  get(nodeId: string, parent: any) {
    const { nodes } = getRoot<IRootStore>(parent).data;
    const node = workflow
      .find((node: any) => node.id === nodeId);
    return node || null;
  },
  set(node) {
    return node.id;
  },
});
// инициализация стора происходит в компоненте:
useEffect(() => {
  setOriginalNode();
}, []);


Ответы (0 шт):