Reactコンポーネントにデフォルトの小道具があります:
PropertyTitleLabel.defaultProps = {
bedrooms: 1,
propertyType: 'flat'
};
PropertyTitleLabel.propTypes = {
bedrooms: PropTypes.number,
propertyType: PropTypes.string
};
しかし、null
をbedrooms
に渡すと、次のようになります。
const bedrooms = null; // in real world API returns `null`
<Component bedrooms={bedrooms} />
デフォルトのプロップに置き換えられません:(アイデアはありますか?
null
値をundefined
に変更して、デフォルト値を使用できます。
<Component bedrooms={bedrooms || undefined} />
null
とundefined
の違いは、defaultProps
を処理するときに行われると思います。 null
値は意図した動作である可能性があるため、デフォルトで置き換えられませんが、undefined
は置き換えられず、置き換えられます。
ドキュメントに記載されているように
[...] this.props.valueが親コンポーネントによって指定されていない場合に値を持つことを保証するために使用されます。
関連する問題 です。