是否可以查询Apollo客户端缓存以获取客户端上已过滤数据的列表?
在客户端从graphql服务器获取数据之后,可以从Apollo开发工具中看到数据在本地缓存中。
我如何才能在不去服务器的情况下获得与一组“标签”相匹配的“项目”类型的列表?
type Item {
id: ID
text: String
tags: [String]
}我假设这对于Apollo-link-state自定义解析器是可行的,但是到目前为止,还没有能够弄清楚它的策略,或者在网上找到一个例子。
我知道Apollo缓存了已经执行的查询的数据,并且可以使用ID和.readFragment访问它,但是如果数据已经存在于客户端缓存中,那么应该可以获得特定条件下的数据列表吗?
更新:
具体要求如下
随着更多的使用发生,我们将在缓存中的大多数项目提供对大多数数据的即时过滤体验。
确切的问题是,我们是否可以使用.readFragment或.readQuery来访问原始记录列表,并在客户端进行动态过滤(如果可以,如何进行过滤/示例)?或者有其他方式来看待这件事?
发布于 2018-09-11 18:33:03
这类功能可以使用apollo-link-state来实现。
example -‘内部’查询可以被fetchPolicy强制为cache-only
还要考虑在组件状态(或other options )中进行简单过滤-这完全取决于(共享过滤结果)要求。
https://stackoverflow.com/questions/52271313
复制相似问题