如何解决ESLint的react/display-name规则加载报错:`[[GeneratorState]]` is not present on `O`
解决Next.js项目ESLint报错:
react/display-name规则加载失败 这个报错是eslint-plugin-react新版本(7.34.0及以上)和eslint-config-next的依赖兼容性冲突导致的,更新依赖后触发了该bug。以下是几个可行的解决办法:
强制锁定兼容版本
在项目的package.json中添加版本覆盖配置,强制使用eslint-plugin-react的稳定兼容版本(比如7.33.2):- 针对npm或bun,添加
overrides字段:"overrides": { "eslint-plugin-react": "7.33.2" } - 针对yarn,添加
resolutions字段:"resolutions": { "eslint-plugin-react": "7.33.2" }
配置完成后,重新执行依赖安装命令:
bun install/npm install/yarn install- 针对npm或bun,添加
升级Next.js到最新稳定版
部分新版本的eslint-config-next已经修复了该依赖兼容问题,尝试执行bun update next eslint-config-next(或对应包管理工具的更新命令),升级到最新稳定版后重新校验代码。临时禁用规则(不推荐)
如果需要快速恢复代码校验,可以在.eslintrc.json或.eslintrc.js中临时禁用该规则:"rules": { "react/display-name": "off" }注意:这只是临时应急方案,建议优先使用前两种方法解决根本问题。
内容的提问来源于stack exchange,提问作者Alain1405
相关产品推荐
相关产品推荐

