處理實時資料庫中的使用者帳戶資料
Firebase 身份驗證系統是使用者 uid
,displayName
,photoURL
和 email
的來源。基於密碼的帳戶通過 .updateProfile
方法在 auth 系統中設定這些持久值。將這些值儲存在實時資料庫中,rDB,users
節點會產生過時資料的問題。例如,顯示名稱可能會更改。為了使這些值保持同步,請使用與 .onAuthStateChange
一致的本地儲存 。
在每個 .onAuthStateChange
getItem('displayName')
和getItem('photoURL')
- 與
user.displayName
和user.photoURL
相比 - 如果不同
setItem('displayName')
和setItem('photoURL')
db.ref.child('users').update
displayName
和/或photoURL
的值
.onAuthStateChange
會在每個頁面載入或重新載入時觸發,也會在每次身份驗證狀態更改時觸發。它可能經常發生,例如多頁面應用程式。但是,對本地儲存的讀寫是同步且非常快,因此對應用程式效能沒有明顯影響。