React组件编译报错Cannot read property 'type' of undefined如何解决?
报错原因
- 该错误属于ESLint静态检查阶段抛出的异常,并非业务代码运行逻辑导致,核心原因是项目中
eslint-plugin-react、eslint-plugin-react-hooks等React相关lint插件版本,和当前项目的ESLint、React版本不兼容,尤其是React 17+之后支持JSX无需手动引入React的特性,旧版lint插件无法识别就会抛出该错误 - 小概率为本地ESLint缓存异常导致的误报
修复方案
- 优先清除ESLint缓存重试,执行以下命令后重启项目:
npm run lint -- --fix # 也可以直接删除缓存目录 rm -rf node_modules/.cache
- 若清除缓存无效,升级对应lint插件到适配版本:
npm install eslint-plugin-react@latest eslint-plugin-react-hooks@latest --save-dev
- 如果你使用的是React 17及以上版本,可以在项目根目录的ESLint配置文件(.eslintrc.js/.eslintrc.json)中添加规则,关闭不必要的React导入校验:
{ "rules": { "react/react-in-jsx-scope": "off" } }
补充说明:你当前代码中表格表头定义了4列,但循环渲染的行只有1个
<td>,这个属于显示逻辑问题,不会触发编译报错,后续可根据需求补充对应列的内容即可。
内容的提问来源于stack exchange,提问作者ui developer
相关产品推荐
相关产品推荐

