我有一个带有身份验证和 firebase 后端的 React 应用程序。如何检查用户是否已登录?我用 onAuthStateChanged 试过了。但它只返回:这是我的代码:import * as FirestoreService from '../../firebase/firebase'; useEffect(() => { let user = FirestoreService.isLoggedIn() console.log( user) }, []);现在在firebase文件中: export const isLoggedIn = () => { return firebase.auth().onAuthStateChanged(function (user) { if (user) { console.log("User signed in"); } else { console.log("User signed out"); } }); }我的检查登录是否成功:function handleLogin() { FirestoreService.LoggIn(email, password).then(function (result) { // result.user.tenantId should be ‘TENANT_PROJECT_ID’. setloggedIn(true) }).catch(function (error) { setloggedIn(false); });}火力基地文件: export const LoggIn = (email, password) => { return firebase.auth().signInWithEmailAndPassword(email, password) .then(function (result) { // result.user.tenantId should be ‘TENANT_PROJECT_ID’. return result; }) .catch(function (error) { return error });}
1 回答

芜湖不芜
TA贡献1796条经验 获得超7个赞
onAuthStateChanged()
为用户登录状态的变化添加一个观察者,但不返回user
对象。
在您的情况下,您应该使用该currentUser
属性。如果用户未登录,currentUser
则为空:
export const isLoggedIn = () => { return firebase.auth().currentUser; }
添加回答
举报
0/150
提交
取消