Максимальный размер стека вызовов превышен при использовании новой версии activjs с поддержкой машинописи - PullRequest
0 голосов
/ 06 июля 2019

Я использую новую поддерживаемую машинописью версию activjs

вместе с избыточной формой, и когда вы пытаетесь вставить значение в хранилище, я получаю эту проблему «Превышен максимальный размер стека вызовов», то же самое работает со старым шаблоном

Ниже приведен код с новым машинным шрифтом, поддерживаемым responsejs, который выдает ошибку https://reactjs.org/docs/static-type-checking.html#typescript и старая версия github https://github.com/microsoft/TypeScript-React-Starter, которая работает.

https://drive.google.com/open?id=15eolNjeYroyubgSmbGaaKfjxbe-IZ8KK

Я не могу понять, что отличается, что вызывает ошибку с новой версией. Спасибо за любую помощь.

1 Ответ

0 голосов
/ 09 июля 2019

Свойства не могут быть определены непосредственно в классах модели.

Основная причина кроется в предустановке babel create-Reaction-app - в результате транспиляции вводятся дополнительные дескрипторы свойств в Модель Прототип цепи.

Эти свойства мешают дескрипторам, установленным redux-orm во время регистрации схемы, что приводит к ошибке Maximum call stack size exceeded.

Этого можно избежать путем объединения объявлений, в частности, путем предоставлениякласс и интерфейс с соответствующими именами.Интерфейс содержит Model свойств, класс почти от 1: 1 до определения JS Model.

Пример:

interface Book {
    id: number
    title: string
}

class Book extends Model<typeof Book> {
    static modelName = 'Book' as const

    static fields = {
        id: attr(),
        title: attr()
    }
}

Я создал репозиторий с рабочим примером: https://github.com/tomasz-zablocki/redux-orm-ex-types-react-example

Имейте в виду, что это нестандартные типы, но я определенно хочу взять пакет @types/redux-orm, вероятно, с выпуском 0.14 redux-orm.

...