gpt4 book ai didi

javascript - 如何让 Redux Thunk 和 Apollo GraphQL 协同工作

转载 作者:数据小太阳 更新时间:2023-10-29 04:45:24 24 4
gpt4 key购买 nike

在我的项目中,Redux Thunk 用于在 action creator 中保留所有异步函数。

现在我正在尝试将 Apollo GraphQL 添加到我的项目中,一切正常,除了在我的功能组件中添加 mutations 并在那里调用它们时,它破坏了 redux thunk 架构。

如何解决?我想我可以创建新的 action creator 方法并将突变传递给它们,但它很快就会变成样板,这对我来说似乎不是一个好的解决方案。

最佳答案

Apollo 突变不会破坏 redux thunk 架构。如果您需要在突变后更新自己的 reducer,请从突变的 thencatch 中分派(dispatch)这些 reducer 的操作。 Apollo 的 graphql 容器旨在取代异步 redux 中间件(thunks、sagas、epics),而不是破坏它。

对于 Apollo 客户端 1.0

如果需要,您还可以将自己的 reducer 连接到 Apollo 调度的相同操作(APOLLO_MUTATION_INIT、APOLLO_MUTATION_RESULT 等)。只需确保将 apollo 商店与您自己的商店集成即可。参见 http://dev.apollodata.com/react/redux.html .

更新:迁移到 Apollo Client 2.0

Apollo Client 2.0 移除了对使用 redux 作为其缓存(存储)的依赖。如果您仍然希望能够在您的 reducer 中使用 1.0 风格的操作,您可以使用此链接 https://www.npmjs.com/package/apollo-link-redux (自述文件中的示例用法)。

关于javascript - 如何让 Redux Thunk 和 Apollo GraphQL 协同工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43038021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com