J'ai des accessoires par défaut dans mon composant React:
PropertyTitleLabel.defaultProps = {
bedrooms: 1,
propertyType: 'flat'
};
PropertyTitleLabel.propTypes = {
bedrooms: PropTypes.number,
propertyType: PropTypes.string
};
Mais quand je passe null
à bedrooms
comme:
const bedrooms = null; // in real world API returns `null`
<Component bedrooms={bedrooms} />
Il n'est pas remplacé par un accessoire par défaut :( Des idées?
Vous pouvez remplacer la valeur null
par undefined
pour utiliser la valeur par défaut.
<Component bedrooms={bedrooms || undefined} />
Je pense qu'il y a une distinction entre null
et undefined
qui est faite en traitant avec le defaultProps
. La valeur null
peut être un comportement voulu et n'est donc pas remplacée par vos valeurs par défaut, tandis que undefined
ne l'est pas et sera remplacée.
Comme indiqué dans les documents
[...] utilisé pour garantir que this.props.value aura une valeur si elle n'a pas été spécifiée par le composant parent.
Voici un problème connexe .