React.PropTypes.node
に相当するFlowとは何ですか(つまり、Reactがあれば、Reactでレンダリングできるものは何ですか?自分で共用体型として作成する必要がありますか?
言い換えれば、ここで???
を置き換えるものは何でしょうか?
type Props = {
children: ???,
}
const UselessComponent
: (props: Props) => React$Element<*>
= ({ children }) => (
<div>
{children}
</div>
)
UselessComponent.propTypes = {
children: React.PropTypes.node.isRequired,
}
フローのバージョンが0.53以上の場合、props.childrenおよびレンダリング可能なノードが必要な場所には新しいタイプReact.Node
を使用します。
React.Nodeの定義は、React.ChildrenArrayで大まかに概算できます。
type Node = React.ChildrenArray<void | null | boolean | string | number | React.Element<any>>;
フロー0.53で反応タイプの大幅な手直しがありました。変更の概要と移行方法の説明は リリースノート にあります。 flow docs 使用方法を詳しく説明します。
例えば:
import type { Node } from 'react';
type Props = {
input?: Node,
}