You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已扩展eslint-config-airbnb时是否需额外扩展React相关ESLint规则

结论先行

你提到的两个扩展项都是冗余配置,可以直接移除,不会损失任何校验效果,反而能避免不必要的规则加载顺序冲突。


不需要保留,可以直接删掉。

  • eslint-config-airbnb 本身已经完整整合了eslint-plugin-react的官方推荐规则,同时在推荐规则的基础上叠加了Airbnb团队定制的更严格的React代码规范约束,覆盖的规则范围比原生plugin:react/recommended更广、要求更明确。
  • 重复声明plugin:react/recommended不会带来任何额外的校验能力,反而可能因为配置加载顺序的问题,意外覆盖Airbnb已经调整好的规则阈值,出现不符合预期的校验结果。

不需要单独引入,你当前配置里的airbnb/hooks已经完全覆盖了相关能力。

  • airbnb/hooks配置本身就是基于eslint-plugin-react-hooks的官方推荐规则封装的,不仅完整包含了plugin:react-hooks/recommended里的两个核心规则(rules-of-hooks、exhaustive-deps),还针对Airbnb的整体代码规范对规则细节做了适配调整。
  • 额外引入plugin:react-hooks/recommended属于重复加载,不会新增校验规则,没有实际收益。

优化后的extends配置参考

你可以把extends字段精简成下面的配置,校验效果和原来完全一致,还避免了冗余:

extends: [
    'airbnb',
    'airbnb-typescript',
    'airbnb/hooks',
    // 如果你需要更严格的TypeScript类型校验,可以打开下面两个注释
    // "plugin:@typescript-eslint/recommended",
    // "plugin:@typescript-eslint/recommended-requiring-type-checking",
    // "plugin:eslint-comments/recommended",
    'plugin:jest/recommended',
    // 注意prettier相关配置必须放在最后一项,避免和其他格式化规则冲突
    'plugin:prettier/recommended',
  ],

注意:使用airbnb-typescript必须在parserOptions里配置project字段指向你的项目tsconfig.json路径,否则相关TS规则无法正常生效。


内容的提问来源于stack exchange,提问作者meez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 10:24:22