Вывод Babel Transpilation вводит дополнительные дескрипторы свойств в Model цепочку прототипов, которые мешают дескрипторам, установленным redux-orm во время регистрации схемы. Это основная причина ошибки Maximum call stack size exceeded
.
@types/redux-orm
для redux-orm:0.13
работают немного по-другому.
В указанном источнике отсутствует ModelFields
, поэтому я пропущу их и предположу, что в ожидаемые поля входят:
- id - атрибут
- имя - атрибут
- parent - внешний ключ с собственной ссылкой
* 1 028 * Пример:
interface FolderFields {
id: number;
name: string;
parent: Folder
children: QuerySet<Folder>
}
export class Folder extends Model<typeof Folder, FolderFields> {
static modelName = 'Folder' as const;
static fields = {
id: attr(),
name: attr(),
parent: fk('Folder', 'children')
}
}
Типы для redux-orm 0.14, скорее всего, будут использовать объединение объявлений, чтобы обеспечить более чистые определения Model
.