我应该如何处理从Apollo查询中检索到的数据?
我的第一个想法是将它保存在redux商店中,修改它(使用redux减少它,使用动作创建者)然后,当数据准备就绪时(用户点击"保存"按钮),发送阿波罗的变异,以便在服务器上更新它。
尽管如此,我并不认为这是最好的方法。我应该避免在这里使用Redux商店并直接使用Apollo命令式API吗?
答案 0 :(得分:1)
您是否阅读了有关updating the cache的文档?
当发送变异进行编辑时,通常会将修改后的对象作为响应。收到更新的对象后,react-apollo
会自动更新与收到的相同id
和__typename
对应的相应本地存储对象。
因此,如果您在组件上使用graphql
装饰器从Apollo商店注入道具,当商店因突变或查询而更新时,道具应该再次自动传递。无需手动修改它们。
在某些情况下,您需要使用store.readyQuery
和store.writeQuery
,但它们是边缘情况,希望不会太多。
不过,我会说,除非你感到舒服并且有时间与react-apollo
合作以了解它是如何运作的以及它正在做什么,否则最好直接与Apollo一起工作,而不是试图做别的事。