【发布时间】:2021-04-14 12:39:20
【问题描述】:
我的用户有 2 个团队:
- 舞蹈
- 柔道
在我的子集 "membersList" 中,Danse 团队有 1 个好友请求,而柔道则没有。
所以我想我的屏幕上只有一个请求。但是当我有 2 个或更多团队时,while 会继续循环,并且请求会显示团队的数量。
我认为问题出在我的 querySnaphost.forEach 上,但在我的控制台上,他返回给我的文档不是空的(所以团队 danse )和另一个找不到文档的文档。
let fetch = async () => {
firestore()
.collection("Teams")
.where("uid", "==", await AsyncStorage.getItem("userID"))
.get()
.then((querySnapshot) => {
if (querySnapshot.empty) {
console.log("no documents found");
} else {
querySnapshot.forEach((doc) => {
let Teams = doc._data;
console.log(Teams);
updateActivity((arr) => [...arr, Teams]);
console.log(Activity);
doc.ref
.collection("membersList")
.where("statut", "==", "en attente")
.get()
.then((querySnapshot) => {
if (querySnapshot.empty) {
console.log("no documents found cc");
} else {
querySnapshot.forEach((doc) => {
let members = doc._data;
console.log("aa", members);
updateMembersList((arr) => [...arr, members]);
console.log("cc", MembersList);
});
}
});
});
}
});
};
useEffect(() => {
fetch();
}, []);
以下是调用fetch() 时记录的内容:
{"Activity": "Danse", "Adress": "Plage", "City": "Nice", "Owner": true, "members": "3", "text": "bouh", "tokenTeam": "n5ounxsf2bq", "uid": "PTbEn2fba0QudXI8JE8RioQ9of53"}
[]
no documents found cc
【问题讨论】:
-
MembersList是否意味着包含特定用户的所有待处理好友请求的列表?同样,Activity是否意味着包含用户拥有的每个Team的数组? -
是的,Memberslist 基本上是团队的子集合,每个团队都有自己的 memberslist !当状态“待定”时需要出现
标签: javascript firebase google-cloud-firestore