【发布时间】:2022-11-21 22:34:15
【问题描述】:
我正在尝试获取当前登录用户的电子邮件,然后我将使用它从与该用户对应的文档中获取名称数据字段。但是,我不断收到此错误。任何有关如何解决此问题的想法将不胜感激。
此外,每当我对电子邮件问题进行任何更改时,都会收到以下错误: 未捕获的类型错误:firebase__WEBPACK_IMPORTED_MODULE_4_.db.collection 不是函数
当我刷新页面时,它返回到标题中的错误。
const auth = getAuth();
const user = auth.currentUser;
const userEmail = user.email;
var clubName;
db.collection("users").where("email", "==", userEmail).get().then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
console.log(doc.id, " => ", doc.data());
var data = doc.data();
clubName = data.name;
});
})
.catch(function(error) {
console.log("Error getting documents: ", error);
});
console.log("THE DATA YOU ARE LOOKING FOR: " + clubName);
const q = query(collection(db, "requests"), where("SendTo", "==", clubName));
注意:在上面的代码中,我使用了 2 个不同的 firebase 数据库,一个称为 users,它有字段 {email, name, password, job},另一个叫做 requests,它有以下字段 {From, SendTo, type, content, header}
【问题讨论】:
-
您是否尝试登录
user? -
auth.currentUser是null -
@Konrad 我该如何解决?
-
我不知道你的
getAuth长什么样 -
@alwaysneedhelp1901 好吧,如果
auth.currentUser是null,您将收到同样的错误。您应该检查currentUser是否为null,如果是,则执行其他操作,例如发送到登录页面、显示登录模式或其他内容。
标签: javascript reactjs firebase