首页 文章

我应该直接使用Apollo数据还是在Redux商店中保存/修改它?

提问于
浏览
0

我应该如何处理从Apollo查询中检索到的数据?

我的第一个想法是将它保存在redux存储中,修改它(使用redux减少它,使用动作创建器)然后,当数据准备好(用户点击“保存”按钮)时,向Apollo发送一个变异以更新它服务器 .

不过,我认为这不是最好的方法 . 我应该避免在这里使用Redux商店并直接使用Apollo命令式API吗?

1 回答

  • 1

    你读过有关updating the cache的文档吗?

    发送用于编辑任何内容的变异时,通常会将修改后的对象作为响应 . 当接收到更新的对象时, react-apollo 会自动更新对应于收到的相同 id__typename 的相应本地存储对象 .

    因此,如果您在组件上使用 graphql 装饰器从Apollo商店注入道具,当商店因突变或查询而更新时,道具应该再次自动传递 . 无需手动修改它们 .

    在某些情况下,您需要使用 store.readyQuerystore.writeQuery ,但它们是边缘情况,希望不会太多 .

    尽管如此,我仍然很舒服并且有时间与 react-apollo 一起工作以了解它是如何工作的,以及它可能更好地直接与Apollo合作,而不是尝试做其他事情 .

相关问题