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

克隆GitHub项目后出现'React must be in scope when using JSX'报错求助

解决方案

这个报错的核心原因:旧版ESLint规则默认要求,只要在代码里写JSX,就必须显式导入React;但React 17及以上版本已经支持自动在编译时注入React,不需要手动写import React from 'react',如果项目的ESLint配置没同步更新,就会触发这个错误。

方法一:快速修复——显式导入React

直接在App.js的最顶部添加React导入语句,这是最简单直接的解决方式:

import React from 'react'; // 新增这一行
import { Routes, Route } from "react-router-dom";
// 其余导入代码保持不变

修改后的完整App.js代码:

import React from 'react';
import { Routes, Route } from "react-router-dom";
import Layout from "./Components/Layout";
import PageNotFound from "./Components/PageNotFound";
import SearchBox from "./Components/SearchBox";
import HomePage from "./Pages/HomePage";
import ProductDetails from "./Pages/ProductDetails";

function App() {
  return (
    <>
      <Routes>
        <Route
          path="/"
          element={
            <>
              <Layout>
                <SearchBox />
                <HomePage />
              </Layout>
            </>
          }
        />
        <Route path="/products/:id" element={<ProductDetails />} />
        <Route path="*" element={<PageNotFound />} />
      </Routes>
    </>
  );
}

export default App;

方法二:适配React 17+——关闭ESLint过时规则

如果你的项目使用的是React 17或更高版本,可以修改ESLint配置,关闭这个已经过时的规则:

  1. 找到项目根目录下的.eslintrc(或.eslintrc.json)文件,添加规则配置:
{
  "rules": {
    "react/react-in-jsx-scope": "off"
  }
}
  1. 如果项目是在package.json里配置ESLint,找到eslintConfig字段修改:
"eslintConfig": {
  "rules": {
    "react/react-in-jsx-scope": "off"
  }
}

修改完配置后,重启开发服务器,报错就会消失。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 18:05:17