Ошибка типа потока в Immutable- js Запись [1] не является полиморфным c типом - PullRequest
0 голосов
/ 04 марта 2020

Я использую immutable- js в reactjs, когда я использую поток для проверки типа, я получаю следующую ошибку.

Невозможно создать экземпляр Record, поскольку класс Record [1] не является полиморфным c типом.

 src/service/login.js
   32│
   35│ const StoreRecord: Record<LoginTypeDef> = Record({
   36│   userId: fromJS(academicYearInitialState),
   37│   userName: null,
   38│   userRole: null,
 node_modules/immutable/dist/immutable.js.flow

[1] 1395│ объявить класс Record {

инициализация моей записи.

const StoreRecord: Record = Record ({userId: null, userName: null, userRole: null});

LoginTypeDef экспортируется как, тип экспорта LoginTypeDef = {| userId: строка, userName: строка, userRole: строка |};

1 Ответ

0 голосов
/ 15 марта 2020

Для добавления аннотации к описанному типу значения следует использовать RecordFactory. Его можно импортировать из immutable.

. Предполагается, что его использование будет выглядеть следующим образом:

const StoreRecord: RecordFactory<LoginTypeDef> = Record({
  userId: null,
  userName: null,
  userRole: null
});

Если необходимо присвоить результат вызова Record переменной и предоставить аннотацию для этого следует использовать следующий тип RecordOf:

const StoreState: RecordOf<LoginTypeDef> = StoreRecord({userId: 'test});
...