是否可以将 Apollo Client 配置为从返回项目列表的查询中获取单个缓存的项目,以便在查询单个项目时预取数据?
架构:
type Item {
id: ID!
name: String!
}
type Query {
items: [Item!]!
itemById(id: ID!): Item!
}
Run Code Online (Sandbox Code Playgroud)
查询 1:
query HomepageList {
items {
id
name
}
}
Run Code Online (Sandbox Code Playgroud)
查询 2:
query ItemDetail($id: ID!) {
itemById(id: $id) {
id
name
}
}
Run Code Online (Sandbox Code Playgroud)
鉴于单个 Item 的数据已经在缓存中,应该可以使用已经缓存的数据,同时仍然执行提取,以防任何数据发生更改。
然而,查询并不使用缓存的数据(至少默认情况下),似乎我们需要以某种方式告诉 Apollo 我们知道该 Item 已经在缓存中。
非常感谢任何帮助。