如何在突变之前更新 apollo 缓存状态,以进行 Like、Upvote 等操作? [关闭]

Posted

技术标签:

【中文标题】如何在突变之前更新 apollo 缓存状态,以进行 Like、Upvote 等操作? [关闭]【英文标题】:How to update apollo cache state BEFORE mutation, for actions like Like, Upvote etc.? [closed] 【发布时间】:2021-02-20 00:20:26 【问题描述】:

我正在使用 Apollo 客户端为 GraphQL 查询制作一个反应应用程序,我想在其中更新 upvotes 状态,以便用户无需花费时间进行 upvoting。如果我不这样做,我必须等待突变返回数据,这需要 1 秒。有没有办法解决这个问题?

【问题讨论】:

您好,欢迎来到 SO,您应该提供一些您自己尝试的代码,以便其他用户可以帮助您。 'optimisticResponse' 【参考方案1】:

我认为optimisticResponse 是您的解决方案。 (正如@xadm 指出的那样)

https://www.apollographql.com/docs/react/performance/optimistic-ui/

如果您已经在您的突变中实现了update 函数(通常用于更新您的查询,否则您应该),它将被调用两次,一次立即使用您的optimisticResponse,再次使用server response.

【讨论】:

以上是关于如何在突变之前更新 apollo 缓存状态,以进行 Like、Upvote 等操作? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从突变查询中更新 Apollo 数据存储/缓存,更新选项似乎没有触发

Apollo / GraphQl - 单实体突变不更新缓存(数据库更新)

如何在突变后更新阿波罗缓存(使用过滤器查询)

React Apollo 在突变后更新客户端缓存

如何在没有参数的情况下进行graphql突变? (Vue 阿波罗)

使用 Apollo 执行突变后如何更新单独的组件道具