【发布时间】:2020-06-01 13:01:55
【问题描述】:
我想将 UID 收集到 Firestore 中的 Array 字段。成功抓取了每个用户的数据,但是我不能列出来。
contactArray: {"0": "xxxxxxxxxxxx", "1": "yyyyyyyyyyyy"}
可以检索用户数据,但无法将问题显示为列表。我可以推动它,但它由于某种原因消失了。
警告:
期望在箭头函数中返回一个值
使用效果
const [contactList, setContactList] = useState([])
useEffect(() => {
if (currentUserUid) {
firestore.doc(`users/${currentUserUid}`).get().then(userSnapshot => {
const { contactUidList } = userSnapshot.data()
return contactUidList
})
.then((contactUidList) => {
contactUidList.map((contactUid) => {
firestore.doc(`users/${contactUid}`)
.onSnapshot(userQuerySnapshot => {
contactList.push(userQuerySnapshot.data())
setContactList(contactList)
})
})
})
}
}, [currentUserUid, contactList])
查看
return (
<ul>
{contactList.map((contact, idx) => {
return(<p>{contact.name}</p>)
))
)
【问题讨论】:
-
要消除该警告,您需要删除
.then((contactUidList) => {中的=>或在回调结束时返回一些内容(实际上并不重要)。
标签: reactjs google-cloud-firestore react-hooks