【问题标题】:How to use eslint rule for no-multi-comp如何使用 eslint 规则进行 no-multi-comp
【发布时间】:2025-12-02 02:20:03
【问题描述】:

我遇到了这个style guide 并试图采用它的一些规则。

提到的第一条规则

每个文件只包含一个 React 组件。然而,多 每个文件都允许使用无状态或纯组件。埃斯林特: react/no-multi-comp.

所以在我的.eslintrc

{
    "parser": "babel-eslint",
    "plugins": [
        "react"
    ],
    "extends": [
        "eslint:recommended",
        "plugin:react/recommended"
    ],
    "rules": {
       "no-set-state": "off"
    },

    "parserOptions": {
      "ecmaVersion": 6,
      "sourceType": "module",
      "ecmaFeatures": {
          "jsx": true,
          "modules": true
      }
  },
  "globals": {
    "localStorage": true,
    "fetch": true
},
  "settings": {
    "react": {
        "pragma": "React",
        "version": "16.4.1"
    }
    }
}

我将此添加到rules

"rules": {
   "no-set-state": "off",
   "react/no-multi-comp":  [true, { "ignoreStateless": true }]
},

我这样做正确吗?因为当我阅读docs 时,我看到了<enabled> 我不知道这是什么意思。

【问题讨论】:

    标签: reactjs eslint eslint-config-airbnb eslintrc


    【解决方案1】:

    <enabled> 查找0,1,2off,warn,error 之一的值,含义:

    来自docs

    “关闭”或 0 - 关闭规则

    “警告”或 1 - 打开规则作为警告(不影响退出代码)

    “错误”或 2 - 将规则作为错误打开(退出代码为 1 时
    触发)

    【讨论】:

    • 如果您使用的是 Visual Studio 19,则可以在以下位置找到此“.eslintrc”文件的路径:工具 > 选项 > 文本编辑器 > JavaScript/TypeScript > Linting。您可以按照答案中的描述在“规则”下设置“react/no-multi-comp”属性的值。
    【解决方案2】:

    使用 Visual Studio Code 并安装 ESLint 插件,您应该可以在 Output > ESLint 下查看

    <enabled> 正在寻找 0、1 或 2。

    相应地改变。

    【讨论】: