Проверка подлинности Firebase извлекает значение DisplayName Null

#javascript #reactjs #firebase #firebase-authentication

#javascript #reactjs #firebase #firebase-аутентификация

Вопрос:

Почему значение DisplayName не равно null в AuthUser, но извлекает значение 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]);
  

введите описание изображения здесь

Комментарии:

1. привет, у меня такая же проблема. Как вы это исправили?

Ответ №1:

почему вы используете AuthUser?.DisplayName, хотя вы уже проверили, имеет ли объект AuthUser значение null или нет. возможно, вы можете попробовать удалить его. Или, пожалуйста, не могли бы вы предоставить весь объект AuthUser вместо скриншота.