Подтвердить что ты не робот

Что такое поток-эквивалент React.PropTypes.node?

Что такое поток-эквивалент React.PropTypes.node (т. React.PropTypes.node Что-либо, что может быть обработано React, если оно есть? Нужно ли создавать его самому как тип объединения?

Другими словами, что бы заменить ??? Вот?

type Props = {
  children: ???,
}

const UselessComponent
  : (props: Props) => React$Element<*>
  = ({ children }) => (
    <div>
      {children}
    </div>
  )

UselessComponent.propTypes = {
  children: React.PropTypes.node.isRequired,
}
4b9b3361

Ответ 1

Похоже, что это все еще проблема здесь.

В соответствии с обсуждением в этом выпуске, что вы должны делать, пока не будет исправлено:

type Props = {
  children?: React.Element<*>,
};

Ответ 2

Для версий потока> = 0,53 используйте новый тип React.Node для props.children и везде, где вы ожидаете визуализируемый узел.

Определение React.Node можно приблизительно аппроксимировать с помощью React.ChildrenArray:

type Node = React.ChildrenArray<void | null | boolean | string |
number | React.Element<any>>;

Произошла серьезная переделка типов реакции в потоке 0.53. Краткое описание изменений и инструкции по миграции приведены в заметках о выпуске. Документация по потоку объясняет, как использовать подробно.

Например:

import type { Node } from 'react';

type Props = {
  input?: Node,
}