假设我有一个这样的架构(伪代码)
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}})
我的问题是这个。如果我已经使用comments
和id
字段加载了text
的提要,然后随后又使用添加的author
字段加载了单个注释,如何获取单个评论查询的useQuery
,以从comments
查询中获取具有相应ID的缓存对象(如果有)?也就是说,comments
查询应该已经有text
字段,用于具有已加载ID的注释。仅需要接起author
字段才需要其他网络请求。如果阿波罗(Apollo)足够聪明,可以立即将部分结果返回给我,然后在数据可用时再返回其余字段(在我的示例中为author
),就很好了。
apollo包/缓存是否可行,还是我需要编写自己的useQuery
包装程序才能直接读取缓存?