我应该直接使用 Apollo 数据还是在 Redux 存储中使用 save/modify?
Should I work directly with Apollo data or save/modify it in Redux store?
我应该如何处理从 Apollo 查询中检索到的数据?
我的第一个想法是将它保存在 redux 存储中,修改它(使用 redux 减少它,使用 action creators)然后,当数据准备好时(用户点击 "save" 按钮),发送一个突变为 Apollo 以在服务器上更新它。
不过,我认为这不是最好的方法。我应该避免在这里使用 Redux 存储并直接使用 Apollo 命令 API?
您是否阅读了有关 updating the cache 的文档?
当发送用于编辑任何内容的突变时,通常您会收到修改后的对象作为响应。当接收到该更新的对象时,react-apollo
会自动更新对应于接收到的相同 id
和 __typename
的相应本地存储对象。
因此,如果您在组件上使用 graphql
装饰器从 Apollo store 向它们注入 props,当 store 由于突变或查询而更新时,应该自动传递 props再次。无需手动修改。
在某些情况下您需要使用 store.readyQuery
和 store.writeQuery
,但它们是边缘情况,希望不会太多。
不过,我想说的是,除非您感到舒服并花一些时间使用 react-apollo
来了解它的工作原理和功能,否则直接 [=29] 可能会更好=] 使用 Apollo,而不是尝试做其他事情。
我应该如何处理从 Apollo 查询中检索到的数据?
我的第一个想法是将它保存在 redux 存储中,修改它(使用 redux 减少它,使用 action creators)然后,当数据准备好时(用户点击 "save" 按钮),发送一个突变为 Apollo 以在服务器上更新它。
不过,我认为这不是最好的方法。我应该避免在这里使用 Redux 存储并直接使用 Apollo 命令 API?
您是否阅读了有关 updating the cache 的文档?
当发送用于编辑任何内容的突变时,通常您会收到修改后的对象作为响应。当接收到该更新的对象时,react-apollo
会自动更新对应于接收到的相同 id
和 __typename
的相应本地存储对象。
因此,如果您在组件上使用 graphql
装饰器从 Apollo store 向它们注入 props,当 store 由于突变或查询而更新时,应该自动传递 props再次。无需手动修改。
在某些情况下您需要使用 store.readyQuery
和 store.writeQuery
,但它们是边缘情况,希望不会太多。
不过,我想说的是,除非您感到舒服并花一些时间使用 react-apollo
来了解它的工作原理和功能,否则直接 [=29] 可能会更好=] 使用 Apollo,而不是尝试做其他事情。