如何解决apollo useQuery 何时进行查询?
我们可以在 Apollo 文档中阅读以下内容..
默认情况下,useQuery 钩子检查 Apollo 客户端缓存以查看是否 您请求的所有数据都已在本地可用。如果所有数据 在本地可用,useQuery 返回该数据并且不查询 你的 GraphQL 服务器。这个缓存优先策略是 Apollo Client 的 默认获取策略。
假设我有一个页面,可以在其中加载人们添加的所有书籍。假设用户 A 正在查看此屏幕。 userB
现在添加了一个新的。
问题:
- 如果
userA
刷新页面,他/她会看到添加的新书吗?会进行查询吗? - 我真的不明白阿波罗是什么意思
if all data is available locally
。 Apollo 如何知道所有数据是否已经可用?有人可以同时添加它。
解决方法
如果您将其设置为使用 Apollo 缓存,则默认情况下用户 A 将不会听到用户 B 的新书。有几种方法可以解决这个问题:
- 每 x 分钟轮询一次服务器
- 设置对服务器的订阅
- 通知前端可通过单独订阅获得更新
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。