我想检查用户是否使用 firebase 登录

我有一个带有身份验证和 firebase 后端的 React 应用程序。如何检查用户是否已登录?我用 onAuthStateChanged 试过了。但它只返回:

http://img2.mukewang.com/6352439d00010e4802410076.jpg

这是我的代码:


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

    });

}


一只斗牛犬
浏览 77回答 1
1回答

芜湖不芜

onAuthStateChanged()为用户登录状态的变化添加一个观察者,但不返回user对象。在您的情况下,您应该使用该currentUser属性。如果用户未登录,currentUser则为空:export const isLoggedIn = () => {     return firebase.auth().currentUser;   }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript