【发布时间】:2022-11-07 05:35:58
【问题描述】:
我正在尝试导入 Authprovider,但我收到一个错误,即它没有正确导出。这是我到目前为止所拥有的。我已将 firebase 更新到第 9 版。所以这应该很好,我还检查了我的导出,它们看起来是正确的。在发布之前,我尝试过使用其他 stackoverflow 示例。
Compiled with problems:X
ERROR in ./src/components/App.jsx 18:30-42
export 'default' (imported as 'AuthProvider') was not found in '../components/contexts/AuthContext' (possible exports: AuthProvider, useAuth)
import "./App.css";
import Navbar from "../components/navbar/Navbar";
import { BrowserRouter as Routes, Route } from "react-router-dom";
import React from "react";
import Home from "./Home";
import Services from "./pages/Services";
import Products from "./products/Games";
import SignUp from "../components/user/SignUp";
import LogIn from "../components/user/LogIn";
import Snake from "./products/snakegame/Snake";
import AuthProvider from "../components/contexts/AuthContext";
function App() {
return (
<AuthProvider>
<Navbar />
<Routes>
<Route path="/" element={<Home to="/" />}></Route>
<Route path="/services" element={<Services />}></Route>
<Route path="/signup" element={<SignUp />}></Route>
<Route path="/products" element={<Products />}></Route>
<Route path="/signUp" element={<SignUp />}></Route>
<Route path="/logIn" element={<LogIn />}></Route>
<Route path="/snake" element={<Snake />}></Route>
</Routes>
</AuthProvider>
);
}
export default App;
我在我的 app.jsx 文件中添加了关闭 AuthProvider 标记。
这是我的 AuthContext.js 文件。我正在导出这两个函数。
import React, { useContext, useState, useEffect } from "react";
import { auth } from "../../firebase";
const AuthContext = React.createContext;
function useAuth() {
return useContext(AuthContext);
}
function AuthProvider({ children }) {
const [currentUser, setCurrentUser] = useState();
function signUp(email, password) {
auth.createUserWithEmailAndPassword(email, password);
}
useEffect(() => {
const unsubscribe = auth.onAuthStateChanged((user) => {
setCurrentUser(user);
});
return unsubscribe;
}, []);
const value = {
currentUser,
signUp,
};
return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;
}
export { useAuth, AuthProvider };
【问题讨论】:
标签: javascript reactjs react-native