首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何全局禁用react-hooks/exhaustive deps eslint警告?

如何全局禁用react-hooks/exhaustive deps eslint警告?
EN

Stack Overflow用户
提问于 2020-09-20 09:44:52
回答 3查看 4.4K关注 0票数 4

我知道我可以禁用该文件或禁用该行,但我现在想要全局地这样做,这样我就不必在每次想要使用useEffect作为componentDidMount()时都写入它。

我试过了:

代码语言:javascript
运行
复制
{
  "plugins": [
    // ...
    "react-hooks"
  ],
  "rules": {
    // ...
    "react-hooks/rules-of-hooks": "off"/0, // tried each
    "react-hooks/exhaustive-deps": "off"/0 // tried each
  },
  "overrides": [
        {
            "files": ["**/*.js"],
            "rules": {
                "react-hooks/rules-of-hooks": "off"/0, // tried each
                "react-hooks/exhaustive-deps": "off"/0 // tried each
            }
        }
    ]   
}
EN

回答 3

Stack Overflow用户

发布于 2020-10-28 08:58:26

我在使用useEffect和componentDidMount()时遇到了同样的“问题”。您可以忽略该警告,在项目根目录中添加文件.eslintrc.json

里面是这样的(这对我很有效):

代码语言:javascript
运行
复制
{
"overrides": [
    {
        "files": ["**/*.js"],
        "rules": {
            "react-hooks/exhaustive-deps": "off"
        }
    }
]
}
票数 3
EN

Stack Overflow用户

发布于 2021-03-05 02:29:24

我们一直在寻找一种方法来在整个项目中禁用这个规则,因为试图修复它的人不断引入无限循环错误,通常是那些擅长隐藏的错误,直到正确的变量组合出现。

该规则基本上做了一个激进的假设,即传递给useEffect()的函数中根本没有任何设计或思想。如果有一个if/else代码块在缺少依赖项的情况下从另一个依赖项中计算出一个依赖项,那么正确处理它的工作,盲目地将两个变量都添加到依赖项数组中很可能会触发无限循环。

我们总是可以告诉每个人在整个项目中添加eslint-ignore行,但这是我们在关闭时遇到的唯一问题。(这个特定的项目在package.json中有ESLint配置,因为它使用了react脚本,我们试图在"rules“块中通过将其设置为" off”来关闭它。我不知道这是否也是.eslintrc文件的问题。)

票数 1
EN

Stack Overflow用户

发布于 2021-04-28 18:13:45

如果您的useEffect在jsx文件中,则必须使用文件扩展名jsx,因此覆盖将如下所示

代码语言:javascript
运行
复制
{
"overrides": [
    {
        "files": ["**/*.jsx"],
        "rules": {
            "react-hooks/exhaustive-deps": "off"
        }
    }
]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63974832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档