我的代碼非常龐大;我只是放了一部分我認為必不可少的代碼。
import {getAuth} from "firebase/auth"
const authFirebase = getAuth()
console.log(authFirebase)
const Home = () => {
...
return(
...
)
}
每當我重新加載頁面(F5)時,如果我只是。
console.log(authFirebase)
我在 currentUser 屬性中檢索了一個包含 uid 的物件,但是當我這樣編碼時。
console.log(authFirebase.currentUser.uid)
我收到這個錯誤
TypeError: Cannot read properties of null (reading 'uid')
我很混亂; 我對 Firebase 不了解?
uj5u.com熱心網友回復:
import { getAuth, onAuthStateChanged } from "firebase/auth";
const auth = getAuth();
onAuthStateChanged(auth, (user) => {
if (user) {
// User is signed in, see docs for a list of available properties
// https://firebase.google.com/docs/reference/js/firebase.User
const uid = user.uid;
// ...
} else {
// User is signed out
// ...
}
});
uj5u.com熱心網友回復:
原因是您要在該物件準備好使用之前獲取該用戶物件。
如果它存在,您需要將其包裝在一個條件中,然后登錄到控制臺。
另一種方法是添加一個像 onAuthStateChanged 這樣的觀察者,這將解決預取物件的問題。
firebase.auth().onAuthStateChanged( user =>; {
if (user) { console.log(user) }
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/380977.html
