如何禁用文件中的 ESLint react/prop-types 规则?

How to disable ESLint react/prop-types rule in a file?

我正在使用 ReactESLint 以及 eslint-plugin-react

我想 disable 一个文件中的 prop-types 规则。

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

我不得不用 eslint 忽略注释来包装整个组件。

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

只需将其放在您的文件顶部即可:

/* eslint-disable react/prop-types */

如果您只有一个文件想要禁用 prop-type 验证,您可以使用:

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

如果您有多个文件,您可以在根目录的 .eslintrc 文件中添加一条规则来禁用 prop-type 验证:

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

有关更多规则,您可以查看 this link that solved my issue and for inconvenience you can also read up from eslint-plugin-react 的 github 文档,了解如何使用各种选项禁用或启用它。

我必须做的:

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

对我有用:

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

要在您的 .eslintrc 文件中全局禁用(旧版本 v6.0 或以下):

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

要在您的 .eslintrc 文件中全局禁用(v6.0 以上的新版本):

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

有时我在与主要文件相同的文件中有小组件。 propTypes 似乎有点矫枉过正。然后我通常会这样做

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

我必须在我的 .eslintrc 配置文件中执行此操作以禁用道具类型验证错误。

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