¿Cómo deshabilitar la regla ESLint react / prop-types en un archivo?


84

Estoy usando Reacty ESLintcon eslint-plugin-react.

Quiero disablela prop-typesregla en un archivo.

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>
        );
    }
});

Respuestas:


79

Pon esto encima de tu archivo:

/* eslint react/prop-types: 0 */

Lo probé y funciona bien. Es un enfoque más limpio. Gracias.
cuadraman

149

si solo tiene un archivo que desea deshabilitar la validación de tipo de prop, puede usar:

/* eslint react/prop-types: 0 */

en los casos en que tenga varios archivos, puede agregar a su .eslintrcarchivo en su directorio raíz una regla para deshabilitar la validación del tipo de propiedad:

{
 "plugins": [
     "react"
  ],
  "rules": {
    "react/prop-types": 0
  }
}

Para obtener más reglas, puede consultar este enlace que resolvió mi problema y, por inconvenientes, también puede leer la documentación de github de eslint-plugin-react sobre cómo deshabilitarlo o habilitarlo con varias opciones.


"react/prop-types": "off"también funciona (y es un poco más legible)
Rafael Tavares

25

Tenía que hacer:

/* eslint react/forbid-prop-types: 0 */

esto no funcionó para mí:

/* eslint react/prop-types: 0 */

Para deshabilitar globalmente en su archivo .eslintrc (versión anterior v6.0 o inferior):

{
    "rules": {
        "react/forbid-prop-types": 0
    }
}

Para deshabilitar globalmente en su archivo .eslintrc (nueva versión anterior a v6.0):

{
    "rules": {
        "react/prop-types": 0
    }
}

La parte sobre las reglas es incorrecta a partir de 2020. Use `" rules ": {" react / prop-types ": 0}`
Jack Kinsella

8

Tuve que envolver todo el componente con eslint ignorar comentarios.

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 */

1
Mi héroe. Esto resolvió por qué no pude conseguirlo /* eslint-disable react/no-multi-comp */cuando simplemente envolvía mi primer componente en él.
frandroid

/* eslint-disable react/prop-types */debe colocarse al principio de un archivo
VonAxt

6

A veces tengo componentes pequeños en el mismo archivo que el principal. PropTypes parece exagerado. Entonces hago algo como esto

// 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>);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.