Firestore快照实时分页

问题描述 投票:0回答:1

目前我正在使用 ReactJS 和 Firestore 开发一个聊天项目。假设我有一个子集合消息,其中包含多个消息文档。我有一个 onSnapshot 侦听器来侦听最新消息,限制为 20,该消息将在组件卸载时被丢弃。

  • 第一个问题,我想创建一个函数 loadMode(),当用户向上滚动聊天历史记录时,它将在接下来的 20 个文档上分配一个新的侦听器。问题是当我不再需要这些听众时如何取消订阅它们?这里有其他解决方案吗?
  • 其次,当我点击其他聊天并点击返回当前聊天时,我可以缓存已听过的旧消息以防止读取费用吗? firestore 查询是否支持这种类型的缓存,或者我必须以某种方式实现它?

谢谢

reactjs firebase google-cloud-firestore caching
1个回答
0
投票
  1. 取消订阅监听器记录在此处:https://firebase.google.com/docs/firestore/query-data/listen#detach_a_listener。如果您无法使其正常工作,请编辑您的问题以显示您尝试过的操作、您得到的行为以及您期望/想要的内容。

  2. 缓存行为(以及如何为网络客户端启用它记录在此处:https://firebase.google.com/docs/firestore/manage-data/enable-offline。如果这对您不起作用,再次:向我们展示您尝试过的内容。

© www.soinside.com 2019 - 2024. All rights reserved.