何時間もの検索とテストの後、フローにdefaultPropsを理解させるための解決策を見つけることができませんでした
参照 トライフローの例
このモデルの使用には一貫性がありません。
type PropsType = {|
size?: 'small' | 'big',
|};
class Letter extends PureComponent<PropsType> {
static defaultProps = {
size: 'small',
}
}
ありがとう
Tomasz Mularczykの提案に従って、 別のトライフローの例 を作成しました。
type PropsType = {|
size: 'small' | 'big',
|};
の代わりに
type PropsType = {|
size?: 'small' | 'big',
|};
しかし
defaultProp size
が入力されなくなりました:
static defaultProps = {
size: 'BAD DEFAULT PROPS', // no error (?!)
}
Tomasz Mularczykの回答を見る
+
現在のコンポーネント(私の場合)のフローエラーを待たずに、どこにインポートして宣言するかを決めます(準静的なようです)。
削除するだけ?
from size
タイプ。 Flowは自動的にdefaultProps
を作成したことを確認し、それを必要としません。
から docs:
デフォルトの小道具を入力するには、静的なdefaultPropsプロパティをクラスに追加します。
...
Reactは、ステートレス機能コンポーネントのデフォルトの小道具もサポートしています。クラスコンポーネントと同様に、ステートレス機能コンポーネントのデフォルトの小道具は、追加の型注釈なしで機能します。