Javascript 用Apollo链路状态缓存实现客户端过滤

Javascript 用Apollo链路状态缓存实现客户端过滤,javascript,graphql,apollo,react-apollo,apollo-client,Javascript,Graphql,Apollo,React Apollo,Apollo Client,是否可以查询Apollo客户端缓存以获取客户端上已过滤数据的列表 客户端从graphql服务器获取数据后,可以将数据视为位于Apollo dev tools的本地缓存上 如何在不访问服务器的情况下获取与一组“标记”匹配的“项”类型列表 type Item { id: ID text: String tags: [String] } 我认为这在Apollo link state自定义解析器中是可行的,但到目前为止,还没有找到它的策略,也没有在网上找到一个例子 我知道Apollo缓存通过已执

是否可以查询Apollo客户端缓存以获取客户端上已过滤数据的列表

客户端从graphql服务器获取数据后,可以将数据视为位于Apollo dev tools的本地缓存上

如何在不访问服务器的情况下获取与一组“标记”匹配的“项”类型列表

type Item {
 id: ID
 text: String
 tags: [String]
}
我认为这在Apollo link state自定义解析器中是可行的,但到目前为止,还没有找到它的策略,也没有在网上找到一个例子

我知道Apollo缓存通过已执行的查询获取数据,并且可以使用ID和.readFragment访问数据,但是如果数据已经存在于客户端缓存中,那么应该可以获取特定条件下的数据列表

更新:

具体要求如下

  • 从服务器获取getItem的前100个结果
  • 用户通过客户端上的一些标记过滤结果
  • 显示已提取的100条记录中的筛选项
  • 从服务器获取更多符合筛选条件的记录,以填充页面的其余部分,最多100项
  • 允许基于筛选条件进行分页 随着使用量的增加,缓存中的大多数项将为大多数数据提供即时过滤体验


    确切的问题是,我们是否可以使用.readFragment或.readQuery访问原始记录列表,并在客户端动态过滤(如果是这样的话,如何/示例)?或者有其他方法来看待这个问题吗?

    这种功能可以通过使用阿波罗链接状态来实现

    -“内部”查询只能被强制为
    缓存


    也考虑组件状态中的简单过滤(或全部取决于共享过滤结果)要求。

    谢谢你的回答,我应该更清楚确切的用法。我已经更新了上面的问题。如果你能看一看,那就太好了!事实上,尝试IRL,“缓存优先”获取策略可以提供几乎相同的体验。谢谢!