Firebase身份验证检索displayName空

时间:2020-09-18 16:44:20

标签: javascript reactjs firebase firebase-authentication

为什么authUser中的displayName不为null,而是检索null? 但是,刷新页面后,它将显示我已更新的displayName。

useEffect(()=>{
    const unsubscribe = auth.onAuthStateChanged((authUser)=>{
      if(authUser){
        //user has logged in
        setUser(authUser);
        console.log(authUser);
        console.log(authUser?.displayName);
        db
          .collection("users")
          .doc(authUser.uid)
          .get()
          .then((doc)=>{
            if(doc.exists){
              db
                .collection("users")
                .doc(authUser.uid)
                .get()
                .then((doc)=>{
                  setProfilePicture(doc.data().imageUrl);
                })
          }
          });
      }else{
        //user has logged out
        setUser(null);
      }
    })
    return ()=>{
      //perform some cleanup actions
      unsubscribe();
    }
  },[user, username]);

enter image description here

1 个答案:

答案 0 :(得分:0)

为什么使用authUser?.displayName,尽管您已经检查了authUser对象是否为null。也许您可以尝试将其删除。或者,您可以提供整个authUser对象而不是屏幕截图。