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

求助:已引入React仍提示‘React must be in scope when using JSX’

解决React中'React must be in scope when using JSX'错误

问题根源

npm audit fix --force会强制调整依赖包版本,大概率破坏了React与构建工具(如react-scripts、Babel)的兼容性:

  • 若被强制升级到React 17+,其JSX转换已无需手动import React,但旧版本构建工具可能不支持该特性,引发报错
  • 若被降级到React 17以下,所有使用JSX的文件必须显式导入React,此前可能依赖缓存或自动导入未触发问题

解决方案

1. 修复依赖版本匹配问题

打开package.json,确认React与react-scripts(create-react-app项目)版本对应:

  • React 18.x → react-scripts 5.x
  • React 17.x → react-scripts 4.x/5.x
  • React 16.x → react-scripts 3.x/4.x

版本不匹配时,手动修改后执行:

rm -rf node_modules package-lock.json
npm install

2. 检查所有JSX文件的React导入

若React版本低于17,每个包含JSX的组件文件必须添加:

import React from 'react';

注意不要遗漏子组件、自定义组件等任何使用JSX的文件。

3. 清除构建缓存

执行命令清除create-react-app的缓存:

npm start -- --reset-cache

4. 回退强制修复的依赖更改

若以上方法无效,直接回退npm audit fix --force的修改:

git checkout package.json package-lock.json
rm -rf node_modules
npm install

之后可通过npm audit查看安全问题,手动处理而非强制修复,避免版本冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 23:31:44