我正在尝试听文档中的更改,但是出现此错误
Uncaught TypeError: Cannot read property 'uid' of null
这是我的JavaScript代码
var user = auth.currentUser;
db.collection('user-intro').doc(user.uid).onSnapshot(function(doc){
console.log(doc.data());
})
我错了
答案 0 :(得分:0)
auth.currentUser
为空。这意味着在您调用该用户时,没有用户登录。您需要先检查这种情况,然后再使用为其分配的user
变量。
答案 1 :(得分:0)
您的auth.currentUser
在用户登录之前就获得了用户。
如果用户刚刚登录或刷新页面,通常会发生这种情况。当Firebase在页面重新加载时恢复身份验证状态时,这需要一些时间,因为它需要对照服务器检查凭据。
为确保您的代码仅在身份验证状态恢复后才能运行,您需要将其包装在onAuthStateChanged
处理程序中:
firebase.auth().onAuthStateChange(function(user) {
if (user) {
db.collection('user-intro').doc(user.uid).onSnapshot(function(doc){
console.log(doc.data());
})
}
})