Почему flowtype жалуется на определение моего массива в моем редукторе? - PullRequest
0 голосов
/ 29 апреля 2018

Это моё определение для объекта ученика:

type PupilType = {
  classId: string,
  created: number,
  description: string,
  firstname: string,
  gender: string,
  id: string,
  lastname: string,
  updated: number,
};

А это мой редуктор ученика, ученики хранятся в массиве:

export default function reducer(state: Array<Object> = [], action: Object) 
{
    ...
}

Это работает, но если вместо того, чтобы просто сказать, что массив содержит объекты, я пытаюсь использовать такой тип:

export default function reducer(state: Array<PupilType> = [], action: Object) 
{
    ...
}

flowtype говорит, что есть ошибка:

"литерал массива Этот тип несовместим с ожидаемым типом параметра типа массива"

Почему это? Я могу использовать

Array<PupilType> 

в другом месте в моем приложении просто отлично. Это только в редукторе, что, кажется, вызывает проблему.

1 Ответ

0 голосов
/ 29 апреля 2018

Попробуйте:

export default function reducer(state: Array<PupilType>, action: Object) 
{
    ...
}
...