J'utilise eslint airbnb dans mon projet natif React. L'erreur de jet eslint peluche si je n'ai pas validé les accessoires, en particulier les accessoires de react-navigation
.
Comment puis-je valider cela à l'aide de PropTypes?
J'essaye de le valider comme ceci:
IntroScreen.propTypes = {
navigation: PropTypes.shape({
navigate: PropTypes.func,
}),
};
mais j'ai quand même des erreurs qui se pelotonnent comme ceci
Comment passer les accessoires par défaut et dois-je le faire?
Je le corrige en définissant les accessoires de navigation et de navigation requis.
IntroScreen.propTypes = {
navigation: PropTypes.shape({
navigate: PropTypes.func.isRequired,
}).isRequired,
};
eslint nous oblige à fournir des accessoires par défaut à définir si nous définissons les accessoires comme facultatifs. Donc, si nous définissons les accessoires comme requis, l'eslint ne vous avertira plus.
En plus du réponse de Dede il peut arriver que votre projet ajoute la navigation à (essentiellement) tous vos composants. L'ajout de la validation des accessoires pour la navigation est une tâche inutile et vous pourriez aussi bien faire taire les peluches pour cet accessoire spécifique.
Pour ce faire, ajoutez les éléments suivants dans votre configuration eslint:
"rules": {
"react/prop-types": ["error", { "ignore": ["navigation"] }]
}
Gardez à l'esprit que vous devrez vous assurer que la navigation est bien ajoutée à vos composants avant de l'utiliser.