В потоке отсутствует проверка реквизита при установке значений по умолчанию для объекта

У меня есть функциональный компонент React, который принимает список в качестве реквизита.

const Dashboard = (props: { items: List } = { items: List() }) => {
  const { items } = props
  ...
})

Однако items в const { items } = props выдает следующую ошибку:

error 'items' is missing in props validation react/prop-types

В документах FlowType приводится пример:

Возможности ES2015 Значения по умолчанию, назначенные параметрам, должны следовать после аннотации типа параметра:

функция foo (P1: T1 = V): U { .. }

Но мне не очень понятно, как это относится к объектам


person Dani    schedule 07.03.2017    source источник


Ответы (1)


На самом деле это не ошибка потока, а эта ошибка eslint:

https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prop-types.md

Вы можете устранить свою ошибку, отключив правило eslint, если теперь, когда вы используете поток, вам не нужен proptype.

Или вы добавляете proptype, который менее специфичен, чем поток, но во время выполнения.

Dashboard.propTypes = {
  items: React.PropTypes.object
};
person Wietse Venema    schedule 07.03.2017
comment
Прохладный! Большое спасибо, что указали на это. Я пойду с подавлением ошибки. - person Dani; 07.03.2017