【发布时间】:2018-06-12 12:52:54
【问题描述】:
我有以下react-apollo-wrapped GraphQL 查询:
user(id: 1) {
name
friends {
id
name
}
}
按照语义表示,它获取 ID 为 1 的用户,返回其 name,并返回其所有朋友的 id 和 name。
然后,我将其呈现为如下所示的组件结构:
graphql(ParentComponent)
-> UserInfo
-> ListOfFriends (with the list of friends passed in)
这一切都对我有用。但是,我希望能够重新获取当前用户的好友列表。
我可以在父组件上做this.props.data.refetch() 并且更新将被传播;但是,我不确定这是不是最佳做法,因为我的 GraphQL 查询看起来更像这样,
user(id: 1) {
name
foo1
foo2
foo3
foo4
foo5
...
friends {
id
name
}
}
虽然我唯一希望重新获取的是朋友列表。
干净地构建这个的最佳方法是什么?我正在考虑将最初跳过的 GraphQL 提取器绑定到 ListOfFriends 组件,这可以在必要时触发,但需要一些关于如何最好地完成此操作的指导。
提前致谢。
【问题讨论】:
-
我相信 apollo 确实提供了开箱即用的缓存
-
@mehulmpt 是的,我明白;但是,我不想缓存;我希望重新获取查询的一个小节。
-
我认为“干净构建这个的最佳方法是什么”这个问题太主观了。你能改写一下,让它不那么主观吗?
标签: javascript reactjs graphql apollo react-apollo