【发布时间】:2020-08-21 21:55:16
【问题描述】:
我正在尝试在 react 中使用 firebase 进行身份验证。 这是跟踪我的身份验证状态的组件。
import { useState} from "react";
function useAuth(fbAuth) {
const [isAuthenticated, setIsAuthenticated] = useState(false);
const createEmailUser = (email, password) => fbAuth.createUserWithEmailAndPassword(email, password);
const signInEmailUser = (email, password) => fbAuth.signInWithEmailAndPassword(email, password);
const signOut = fbAuth.signOut();
fbAuth.onAuthStateChanged(async user=> {
if (user) {
await setIsAuthenticated(true);
console.log(isAuthenticated, "should be true")
return
} else {
await setIsAuthenticated(false);
console.log(isAuthenticated, "should be false")
return
}
});
return {isAuthenticated, createEmailUser, signInEmailUser, signOut};
}
export default useAuth
单击登录时的控制台日志是
2useAuth.js:13 false "应该是真的"
2useAuth.js:17 false "应该是假的"
2useAuth.js:17 true "应该是 false"
4useAuth.js:17 false "应该是假的"
【问题讨论】:
标签: javascript reactjs firebase firebase-authentication