【发布时间】:2023-04-09 04:30:01
【问题描述】:
我正在使用 graphql 开发一个实时聊天应用程序,我想修改获取的数据而不是再次重新获取它 - 以减少不必要的网络请求。
当我的应用第一次初始化时,我正在获取一个用户列表(不是当前登录的用户)以显示在应用的侧边栏上。 每个用户都包含一个 lastMessage 对象,代表他发送或接收的最后一条消息。
当用户点击要与之聊天的用户时,会提交另一个查询以获取用户之间的所有消息。
使用订阅,我在发送新消息时更新消息状态(由登录用户或其他用户发送)。
现在,我想更新显示在侧边栏上的相关用户的 lastMessage 对象,但我不想再次重新获取所有用户,因为我在客户端中有所有更新的数据,我通过订阅事件收到的。相反,我想使用js更新graphql查询的数据。
有没有办法做到这一点? 谢谢。
【问题讨论】:
-
阿波罗缓存文档?
标签: graphql apollo react-apollo apollo-client apollo-server