我正试图将我当前的uid与一个集合中的uid进行比较,但失败了,有人能帮我吗?
这是我的代码:
const user1 = auth.currentUser.uid;
const [users, setUsers] = useState([]);
useEffect(() => {
const usersRef = collection(db, "Admin");
const q = query(usersRef);
const unsub = onSnapshot(q, querySnapshot => {
let users = [];
querySnapshot.forEach((doc) => {
users.push(doc.data());
});
setUsers(users);
});
return () => unsub();
})
console.log(users);
if(user1 === users.uid){}
在这里的例子中,users
是一个数组,因此不能写入:
if(user1 === users.uid){}
相反,您需要先查找user1
是否存在于users
阵列中,然后进行如下检查:
const user1Found = users.find(user => user1 === user.uid);
if (user1Found) {}
代码显示了许多users
的列表。但是列表没有id
属性。
代码正在尝试将用户列表与单个用户进行比较。
因此,users.uid
将不起作用。
只有一个user
对象可能具有id
。
查询单个用户,并按照以下行比较其id
:user1 === user.uid
。