J'utilise React et ESLint avec eslint-plugin-react. Je souhaite désactiver la règle prop-types dans un fichier.
var React = require('react');
var Model = require('./ComponentModel');
var Component = React.createClass({
/* eslint-disable react/prop-types */
propTypes: Model.propTypes,
/* eslint-enable react/prop-types */
render: function () {
return (
<div className="component">
{this.props.title}
</div>
);
}
});
Il suffit de mettre ceci sur votre fichier:
/* eslint react/prop-types: 0 */
si vous souhaitez désactiver la validation de type prop avec un seul fichier, vous pouvez utiliser:
/* eslint react/prop-types: 0 */
si vous avez plusieurs fichiers, vous pouvez les ajouter à votre .eslintrc
fichier dans votre répertoire racine une règle pour désactiver la validation de type prop:
{
"plugins": [
"react"
],
"rules": {
"react/prop-types": 0
}
}
pour plus de règles, vous pouvez passer à la caisse ce lien qui a résolu mon problème et pour la gêne que vous pouvez également lire à partir de eslint-plugin-react la documentation de github sur la marche à suivre pour désactiver ou activer il avec diverses options.
Je devais faire:
/* eslint react/forbid-prop-types: 0 */
cela ne fonctionnait pas pour moi :
/* eslint react/prop-types: 0 */
Pour désactiver globalement dans votre fichier .eslintrc:
{
"rules": {
"react/forbid-prop-types": 0
}
}
Je devais envelopper tout le composant avec l'eslint ignorer les commentaires.
var React = require('react');
var Model = require('./ComponentModel');
/* eslint-disable react/prop-types */
var Component = React.createClass({
propTypes: Model.propTypes,
render: function () {
return (
<div className="component">
{this.props.title}
</div>
);
}
});
/* eslint-enable react/prop-types */
Parfois, j'ai de petits composants dans le même fichier que le principal. Il proptypes semble exagéré. Puis je fais quelque chose comme ça
// eslint-disable-next-line react/prop-types
const RightArrow = ({ onPress, to }) => (<TouchableOpacity onPress={() => onPress(to)} style={styles.rightArrow}><Chevrons.chevronRight size={25} color="grey" /></TouchableOpacity>);