如何在React / Firebase聊天应用程序中处理可见/不可见聊天消息?

时间:2018-07-01 11:54:45

标签: javascript reactjs firebase firebase-realtime-database

我正在尝试使用React和Firebase实时数据库在一对一聊天应用程序中处理可见和不可见消息状态。

我是否可以为数据库中的每个发送消息存储以下内容:假值以及当接收方安装组件(消息)时,再次向数据库发出请求并将“ seen”的值更改为“ true”? / p>

这里有太多的数据库请求可能是个问题吗?

1 个答案:

答案 0 :(得分:1)

  

将每个发送消息存储在数据库中是否是一个好习惯,请参见:假值,并且当接收方安装组件(消息)时,再次向数据库发出请求并将“ seen”的值更改为“是真的”?

我认为您不必为每条消息都这样做。

假设您有User1和User2进行了私人对话。

User1发送两条消息:

Id: 1 Message: "hello"
Id: 2 Message: "how are you"

User2然后查看消息-然后将其发送到服务器:

User: 2 ChatID: abc LastViewedMessage: 2

User1返回消息,并从服务器接收User2的lastViewedMessage id。

我看不出要以“逐个消息”的方式存储它的理由-除非您特别希望该功能仅将某些消息标记为已查看。

您还可以存储消息的时间戳和“最后查看时间”,而不是消息ID。