小编cjp*_*ete的帖子

Apollo Client - 使用对象列表中的缓存结果来响应对单个对象的查询

是否可以将 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 已经在缓存中。

非常感谢任何帮助。

javascript caching apollo graphql apollo-client

7
推荐指数
1
解决办法
494
查看次数

标签 统计

apollo ×1

apollo-client ×1

caching ×1

graphql ×1

javascript ×1