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

IT技术 reactjs eslint
2021-04-06 16:59:20

我正在使用ReactESLinteslint-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>
        );
    }
});
6个回答

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

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

如果您有多个文件,您可以.eslintrc在根目录中的文件中添加禁用props类型验证的规则:

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

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

"react/prop-types": "off" 也有效(而且可读性更强)
2021-06-02 16:59:20

把它放在你的文件的顶部:

/* eslint-disable react/prop-types */
试了一下,效果很好。这是一种更清洁的方法。谢谢。
2021-05-23 16:59:20
相反0,我建议将off. 当使用不同技术水平的开发人员很多工作,所以最好是明确的,而不是要求他们知道0代表off
2021-06-10 16:59:20

我必须做:

/* 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
    }
}
截至 2020 年,有关规则的部分不正确。使用 ` "rules": { "react/prop-types": 0 } `
2021-05-23 16:59:20

我不得不用 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 */ 应该放在文件的最开始
2021-06-03 16:59:20
我的英雄。这解决了为什么我/* eslint-disable react/no-multi-comp */在将我的第一个组件包装在其中时无法获得的原因。
2021-06-06 16:59:20

有时我在与主要组件相同的文件中包含小组件。有 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>);