如何解决删除 Apollo 3 上的缓存
嗨,我正在制作下一个 js 应用程序,我正在使用 Apollo Client v3 从 GraphQL API 获取数据,但我遇到了一些问题。 我希望当用户按下按钮将角色从用户更改为管理员时,反之亦然,删除所有缓存,以便应用程序仅显示新内容。提前致谢!
解决方法
Apollo 客户端使用 InMemory Cache 来存储数据。
有几种方法可以在操作(变异)后更新缓存:
-
如果变更涉及与查询相同的实体,您可以使用返回修改后的实体 ID 和新数据的更新变更自动更新它。 https://www.apollographql.com/docs/react/data/mutations/#updating-a-single-existing-entity
-
另外,您可以将缓存数据配置为使用
update
回调手动更新 https://www.apollographql.com/docs/react/data/mutations/#making-all-other-cache-updates -
如果你不想直接修改缓存而是重新获取一些查询,你可以使用 refetchQuery 回调 https://www.apollographql.com/docs/react/caching/advanced-topics/#rerunning-queries-after-a-mutation
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。