117

我正在使用React和。ESLinteslint-plugin-react

我想disableprop-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>
        );
    }
});
4

6 回答 6

210

如果您只有一个文件要禁用道具类型验证,您可以使用:

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

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

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

有关更多规则,您可以查看解决我的问题的此链接,如果不便,您还可以阅读eslint-plugin-react的 github 文档,了解如何使用各种选项禁用或启用它。

于 2017-04-15T12:00:38.197 回答
91

只需将其放在文件顶部:

/* eslint-disable react/prop-types */
于 2015-07-02T18:53:08.003 回答
34

我必须做:

/* 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
    }
}
于 2017-10-26T14:24:34.353 回答
9

我不得不用 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 */
于 2015-06-20T00:08:05.387 回答
8

有时我在与主要文件相同的文件中有小组件。那里 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>);
于 2019-03-06T12:42:58.527 回答
5

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

"rules": {
  "react/prop-types": "off"
}
于 2021-02-24T05:15:53.057 回答