如何解决Apollo 客户端本地状态最佳实践/方法
我在这里有一些具体问题,但我真的只是想重新评估我对 Apollo Client 的使用情况,并找出真正的最佳实践,而不是仅仅使用过去对我来说乏味的方法。
我想弄清楚的中心场景是我有一个 <input>
字段,它的值反映了一个 GraphQL 字段(比如 BlogPost: { title }
),我想:
-
<input>
以来自 GraphQL API 的值开始(如果它 存在), -
<input>
的显示文本立即响应用户 输入(在用户输入和它出现在 输入框), - 输入框中的文本将立即反映在其他地方
应用程序(例如标题的不可编辑的
<h1>
预览),以及 - 对 GraphQL API 的去抖动请求。
我可以使用 React 的 useState
将其一起破解,但我觉得这应该没有必要,因为 Apollo Client 具有处理客户端状态所需的所有功能。但是,当我尝试使用乐观更新并请求去抖动时:
- 我必须手动指定要重新获取的查询(为什么?根据文档,我认为这应该是自动的),并且
- 对页面上使用这些手动重新获取的查询的其他位置的更新不会实时更新,而是等待去抖动的请求返回(即使我定义了
optimisticResponse
)。
在此先感谢您的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。