MST: определить модель с детьми себя - PullRequest
1 голос
/ 31 октября 2019

Только что начал возиться с Mobx-state-tree.

У меня есть эта модель, у которой есть свойства parent и children, которые могут быть заполнены экземплярами той же модели.

В общем, что-то вроде этого:

const Page = types.model({
    guid: types.string,
    title: types.string,
    description: types.string,
    parent: types.union(Page, types.undefined),
    children: types.array(Page),
})

Но, очевидно, Page пока недоступен при создании этой модели.

Как я могу это сделать?

1 Ответ

1 голос
/ 01 ноября 2019

Внимательно прочитав документы, я нашел ответ. Использование types.late():

const Page = types.model({
    guid: types.string,
    title: types.string,
    description: types.string,
    parent: types.union(types.late(() => Page), types.undefined),
    children: children: types.optional(types.array(types.late(() => Page)), []),
})
...