【发布时间】:2020-09-10 03:36:15
【问题描述】:
我正在使用 apollo-client 和 apollo-cache-inmemory。
假设我有 2 个页面:Item List 页面和 Item Detail 页面。
项目列表页面显示(通过使用client.query(...)获取数据:
- 项目 A
- B 项
- C 项
当导航到项目 B 的 项目详细信息 页面时,我使用涉及store.readQuery 和 store.writeQuery 的变异技术对项目 B 进行了变异:https://www.apollographql.com/docs/react/caching/cache-interaction/#updating-after-a-mutation
现在,在导航回 Item List 页面之前,假设我的应用的另一个用户对 Item A 进行了突变。
我的问题:
当我导航回项目列表页面时,我是从缓存中获取数据还是从服务器获取数据?
client.query(...)是否总是从服务器获取数据? ????如果我从缓存中获取数据,如何保持与服务器的数据一致性? (目标是始终在列表中显示更新的项目,例如项目 A - 在优化缓存的同时与服务器同步)
【问题讨论】:
标签: graphql apollo apollo-client apollo-cache-inmemory