如何使用React将当前用户id和firebase中一个集合的id进行比较



我正试图将我当前的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

查询单个用户,并按照以下行比较其iduser1 === user.uid

最新更新