如何将redux与graphql结合使用

如何将redux与graphql结合使用,redux,graphql,apollo,Redux,Graphql,Apollo,我喜欢graphql。因为它只有一个端点,我只能提取我需要的数据 所以我使用apollo服务器作为服务器,apollo客户端作为客户端 从apollo client 3.0开始,支持状态管理 apollo客户端的反应变量函数非常方便,但我更喜欢redux Redux工具包还缩短了需要编写的代码长度 问题是这样的 我不能同时使用apollo客户端3.0和redux吗 我不能在redux上没有apollo客户端的情况下使用graphql吗?那怎么办 请检查 了解这一点很重要。但是,是的,“我正在

我喜欢graphql。因为它只有一个端点,我只能提取我需要的数据

所以我使用apollo服务器作为服务器,apollo客户端作为客户端

从apollo client 3.0开始,支持状态管理

apollo客户端的反应变量函数非常方便,但我更喜欢redux

Redux工具包还缩短了需要编写的代码长度

问题是这样的

  • 我不能同时使用apollo客户端3.0和redux吗

  • 我不能在redux上没有apollo客户端的情况下使用graphql吗?那怎么办


  • 请检查

    了解这一点很重要。但是,是的,“我正在使用GraphQL”通常也意味着使用Apollo或Urql之类的智能客户端库

    当然,在同一个应用程序中使用Apollo和Redux是可能的,但问题是您使用它们的目的是什么。我已经在我的帖子和文章中谈到了这一点。总结:

    • 您可以对任何内容使用Redux,包括服务器状态缓存和客户端状态
    • Apollo是专门为使用GraphQL请求缓存服务器状态而构建的
    • 如果您使用Redux的唯一目的是缓存服务器状态,并且您选择使用Apollo完成该任务,那么您真的不再需要Redux了
    • 但是,如果您真的愿意,您可以使用GraphQL进行请求,并将该数据放入Redux中
    值得注意的是,我们有,而且。您可能想尝试一下。

    对所有提取的数据使用Apollo client[带规范化缓存](将数据复制/复制到redux没有意义,还要管理提取/等待/错误处理)。。。其他全局应用程序状态(抽屉打开、活动过滤器、[默认]排序顺序等)的重复使用在许多地方/组件中常见/使用