代码之家  ›  专栏  ›  技术社区  ›  Roopak PutheVeettil

与GraphQL客户端进行反应

  •  0
  • Roopak PutheVeettil  · 技术社区  · 7 年前

    使用 React GraphQL clients 喜欢 Apollo Client 这是个好主意吗?同样的结果,我可以实现与 react 新的 Context API .

    基本上我可以消费 GraphQL API 他在用什么 axios 或者其他类似的库。对于状态管理,我可以使用react的新 上下文API 这真的很简单。

    axios.get('localhost://4000?qraphql').then((res)=>{
    
    //do something with the response.
    }) 
    

    还有什么好处吗 阿波罗客户机 . 为什么我真的要去 Apollo client 当我没有它也能达到同样的效果时。这将有助于我减少工作压力 bundle 大小

    1 回复  |  直到 7 年前
        1
  •  5
  •   Daniel Rearden    7 年前

    Apollo客户端提供了大量的功能,不仅仅是从服务器获取数据。以下是一份非详尽的清单:

    • 一个规范化的缓存层,允许您避免向服务器发出不必要的重复请求
    • 可观察的查询,允许用户界面在任何查询或变异更改缓存的相关部分时进行更新
    • 强大的错误处理工具 apollo-link-error
    • loadMore
    • 突变的乐观用户界面更新
    • apollo-link-ws
    • apollo-link-state
    • 通过 @defer 指示
    • 服务器端呈现支持
    • Apollo Client Developer Tools chrome扩展,包括内置GraphiQL控制台、查询观察程序、变异检查器和缓存检查器。

    参见详细文档 here 更多细节。

    有一些常见的模式导致必须编写(和测试)一组样板代码,例如维护加载状态,以便UI知道请求何时完成。使用Apollo或任何其他类似的客户机,无需编写所有样板文件,并为您提供一个干净、经过良好测试的API。如果您在一个团队中工作,那么使用一个您的团队中的一些人可能已经熟悉的文档库,而不必学习一些仅为特定项目创建的新API,这也是值得一提的。

    推荐文章