【发布时间】:2021-11-12 22:37:20
【问题描述】:
我正在使用 Firebase Firestore 作为后端数据库构建一个聊天应用程序。
我在 useEffect hook as 中收到了最近 25 条消息
useEffect(() => {
const q = query(
collection(db, 'messages'),
orderBy('createdAt', 'desc'),
limit(25)
);
return onSnapshot(q, (snapshot) => {
setData(
snapshot.docs.map((doc) => {
console.log('document read');
return { ...doc.data(), id: doc.id };
})
);
});
}, []);
但此操作会导致在页面加载时读取 25 次文档,并在发送消息时额外读取 50 次。 如果连接了更多用户,则每个用户会在任何用户发送的单个消息上发生 25 个请求。 有什么办法可以减少读取?
【问题讨论】:
标签: reactjs firebase google-cloud-firestore