从 Apollo 缓存中读取特定类型的所有片段

Posted

技术标签:

【中文标题】从 Apollo 缓存中读取特定类型的所有片段【英文标题】:Reading all fragments of certain type from Apollo cache 【发布时间】:2020-07-23 01:15:12 【问题描述】:

是否可以从缓存中获取某种类型的所有片段?

readFragment 似乎仅限于通过id 查找单个项目。查看缓存中的数据,我可以看到它应该是可行的,但我不知道如何使用公共 API 来做到这一点。

【问题讨论】:

您能否详细说明片段类型的含义? 当你定义片段时,你在特定的 GraphQL 类型上定义它。我想查询缓存中存在的所有 Graphql 类型的条目。使用readFragment,您必须在缓存中指定条目的 ID。我正在寻找类似readAllFragments 的东西。 【参考方案1】:

我认为您可以通过查看the source code for the apollo cache 找到所需的内容。它似乎有据可查。快速浏览一下,您或许可以使用extract,假设它为您提供了所需的信息。

如果您提供有关此问题的背景/需要的更多信息,我将很乐意改进此答案。

【讨论】:

以上是关于从 Apollo 缓存中读取特定类型的所有片段的主要内容,如果未能解决你的问题,请参考以下文章

从 apollo 缓存读取查询,查询尚不存在,但所有信息都已存储在缓存中

Apollo 客户端 - 从缓存中读取

如何通过 ID 从 Apollo 缓存中读取嵌套对象?

Apollo 客户端从缓存中删除项目

只需从 Apollo 缓存中查看/读取值

从缓存graphql apollo 2.0读取数据