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

导入AuthProvider时出现默认导出不存在错误的技术求助

解决AuthProvider导出/导入不匹配的错误

问题根源

报错明确提示export 'default' (imported as 'AuthProvider') was not found,核心原因是你在AuthContext.js中使用命名导出,但在App.jsx中用了默认导入,两者不匹配。另外还有一个隐藏的Context创建错误,会导致后续useAuth无法正常工作。

修复步骤

1. 修正App.jsx中的导入方式

将默认导入改为命名导入,匹配AuthContext.js的导出规则:

// 替换原来的默认导入语句
import { AuthProvider } from "../components/contexts/AuthContext";

2. 修复AuthContext.js中的Context创建错误

React.createContext是函数,必须调用它才能生成Context实例,否则后续useContext无法正确获取上下文:

// 原来的错误代码
const AuthContext = React.createContext;
// 改为调用函数创建实例
const AuthContext = React.createContext();

3. 额外修复React Router的用法错误(可选但重要)

你当前的React Router导入和使用存在逻辑错误,BrowserRouter不能重命名为Routes,正确写法如下:

// 修正导入语句
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";

// 修正组件嵌套结构
function App() {
  return (
    <AuthProvider>
      <Router>
        <Navbar />
        <Routes>
          <Route path="/" element={<Home />}></Route>
          <Route path="/services" element={<Services />}></Route>
          <Route path="/signup" element={<SignUp />}></Route>
          <Route path="/products" element={<Products />}></Route>
          <Route path="/logIn" element={<LogIn />}></Route>
          <Route path="/snake" element={<Snake />}></Route>
        </Routes>
      </Router>
    </AuthProvider>
  );
}

验证修复

完成以上修改后重新编译项目,导出错误会消失,同时AuthContext能正常提供用户认证状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:55:23