apollo/graphql中的部分缓存值

apollo/graphql中的部分缓存值,graphql,apollo,react-apollo,react-apollo-hooks,Graphql,Apollo,React Apollo,React Apollo Hooks,假设我有这样一个模式(伪代码) 我正在获取这样的注释(伪代码) 在我的组件中(伪): 我的问题是。如果我加载了带有id和text字段的comments提要,然后我随后加载了带有添加的author字段的单个注释,是否有方法获取单个注释查询的useQuery,以从comments查询中提取具有相应id的缓存对象(如果可用)?也就是说,comments查询应该已经有了text字段,用于已加载id的注释。只有在选择author字段时,才需要额外的网络请求。如果Apollo足够聪明,能够立即将这部分结果返

假设我有这样一个模式(伪代码)

我正在获取这样的注释(伪代码)

在我的组件中(伪):

我的问题是。如果我加载了带有
id
text
字段的
comments
提要,然后我随后加载了带有添加的
author
字段的单个注释,是否有方法获取单个注释查询的
useQuery
,以从
comments
查询中提取具有相应id的缓存对象(如果可用)?也就是说,
comments
查询应该已经有了
text
字段,用于已加载id的注释。只有在选择
author
字段时,才需要额外的网络请求。如果Apollo足够聪明,能够立即将这部分结果返回给我,然后在我的示例中,当数据可用时,返回其余字段,
author
,那就太好了


apollo packages/cache是否可能实现这一点,或者我是否需要编写自己的
useQuery
wrappers来直接读取缓存?

我问这个问题可能是发火了。这正是
returnPartialData
的用途吗?您需要使用
typePolicy
+
returnPartialData
query comments: [Comment]
query comment(id: Int!): Comment
comments {
 id
 text
}

comment {
 id
 text
 author {
  id
  name
 }
}
const comment = useQuery(COMMENT_QUERY, {variables: {id: 1}})