当使用React Native和Redux构建聊天应用程序时,使用Firestore作为后端,为特定会话加载消息的最佳方式是什么?
我在开始时显示了8个聊天条目,当我单击其中一个条目时,我将看到包含20条最新消息的聊天屏幕。实现实时监听每个聊天(不是所有聊天,只是那些显示的聊天,因为使用了分页)每个人的messages集合中的20条最新消息,并事先准备好它们是不是一个好主意?
或者,在打开特定聊天的消息屏幕时加载消息是更好的主意。
我理解,作为用户体验,第一个选项更好,因为在显示聊天的前20条消息时没有延迟,但它不会消耗很多可能永远不需要的数据,因为在8次聊天中,用户可能只与2到3次交互。
除了这两个之外,还有更好的方法吗?
提前感谢!
发布于 2018-11-27 18:10:20
这是个好主意还是不好,你可以根据你想要创建的聊天应用来决定。这总是在你所说的延迟和你得到的数据量之间进行权衡,这些数据量可能会被用户看到也可能不会被看到。此外,如果你说你有8个聊天室,有20条消息,这意味着默认情况下,当用户打开你的聊天应用程序时,Firestore会向你收取8*20=160读取操作的费用,即使用户是否进入聊天室,我认为这不是一个好主意。如果你只有几个用户,就不会有问题,但如果你的应用增长了,你可能会重新考虑这个问题。在Firestore中,一切都是根据pricing plan的读写次数来决定的。
https://stackoverflow.com/questions/53496857
复制相似问题