Wie deaktiviere ich die ESLint React / Prop-Typ-Regel in einer Datei?


84

Ich benutze Reactund ESLintmit eslint-plugin-react.

Ich möchte disabledie prop-typesRegel in einer Datei.

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

Antworten:


79

Legen Sie dies einfach oben auf Ihre Datei:

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

Versuchte es und es funktioniert gut. Es ist ein sauberer Ansatz. Vielen Dank.
Cuadraman

149

Wenn Sie nur eine Datei haben, die Sie deaktivieren möchten, können Sie Folgendes verwenden:

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

In Fällen, in denen Sie mehrere Dateien haben, können Sie Ihrer .eslintrcDatei in Ihrem Stammverzeichnis eine Regel hinzufügen , um die Überprüfung des Requisitentyps zu deaktivieren:

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

Weitere Regeln finden Sie unter diesem Link , der mein Problem gelöst hat. Aus Unannehmlichkeiten können Sie auch in der Github- Dokumentation von eslint-plugin-react nachlesen, wie Sie es mit verschiedenen Optionen deaktivieren oder aktivieren können.


"react/prop-types": "off"funktioniert auch (und ist etwas besser lesbar)
Rafael Tavares

25

Ich musste es machen:

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

das hat bei mir nicht funktioniert:

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

So deaktivieren Sie global in Ihrer .eslintrc-Datei (alte Version v6.0 oder niedriger):

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

So deaktivieren Sie global in Ihrer .eslintrc-Datei (neue Version über Version 6.0):

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

Der Teil über Regeln ist ab 2020 falsch. Verwenden Sie "Regeln": {"Reaktion / Requisitentypen": 0}
Jack Kinsella

8

Ich musste die gesamte Komponente mit den Eslint-Ignorierkommentaren umschließen.

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
Mein Held. Dies löste, warum ich es nicht bekommen konnte, /* eslint-disable react/no-multi-comp */als ich nur meine erste Komponente darin einwickelte.
frandroid

/* eslint-disable react/prop-types */sollte ganz am Anfang einer Datei stehen
VonAxt

6

Manchmal habe ich kleine Komponenten in derselben Datei wie die Hauptdatei. Dort scheint propTypes übertrieben. Dann mache ich so etwas

// 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>);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.