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}})