我正在apollo-client
使用apollo-cache-inmemory
.
假设我有 2 个页面:项目列表页面和项目详细信息页面。
显示项目列表页面(通过使用以下方式获取数据client.query(...)
:
- 项目 A
- B项
- 项目 C
当导航到项目 B 的项目详细信息store.readQuery
页面时,我使用涉及并store.writeQuery
在此处描述的突变技术对项目 B 进行了突变: https ://www.apollographql.com/docs/react/caching/cache-interaction/#updating-after-a -突变
现在,在导航回项目列表页面之前,假设我的应用程序的另一个用户对项目 A 进行了突变。
我的问题:
当我导航回项目列表页面时,我是从缓存中获取数据还是从服务器获取数据?是否
client.query(...)
总是从服务器获取数据?如果我从缓存中获取数据,我该如何保持与服务器的数据一致性?(目标是始终在列表中显示更新的项目,例如项目 A - 在优化缓存的同时与服务器同步)