【问题标题】:Apollo GraphQL Client - Modifying The Data From JS (React)Apollo GraphQL 客户端 - 从 JS 修改数据(React)
【发布时间】:2023-04-09 04:30:01
【问题描述】:

我正在使用 graphql 开发一个实时聊天应用程序,我想修改获取的数据而不是再次重新获取它 - 以减少不必要的网络请求。

当我的应用第一次初始化时,我正在获取一个用户列表(不是当前登录的用户)以显示在应用的侧边栏上。 每个用户都包含一个 lastMessage 对象,代表他发送或接收的最后一条消息。

当用户点击要与之聊天的用户时,会提交另一个查询以获取用户之间的所有消息。

使用订阅,我在发送新消息时更新消息状态(由登录用户或其他用户发送)。

现在,我想更新显示在侧边栏上的相关用户的 lastMessage 对象,但我不想再次重新获取所有用户,因为我在客户端中有所有更新的数据,我通过订阅事件收到的。相反,我想使用js更新graphql查询的数据。

有没有办法做到这一点? 谢谢。

【问题讨论】:

  • 阿波罗缓存文档?

标签: graphql apollo react-apollo apollo-client apollo-server


【解决方案1】:

Apollo 缓存有一个 'modify' 方法,您可以使用它来设置用户 lastMessage 的缓存。

Apollo docs for cache modify

【讨论】:

    猜你喜欢
    • 2022-12-12
    • 2020-08-23
    • 2018-09-18
    • 2019-06-22
    • 2023-03-19
    • 2020-02-15
    • 2018-08-26
    • 2022-10-25
    • 2019-01-04
    相关资源
    最近更新 更多