将React
与GraphQL clients
一起使用Apollo Client
是个好主意吗?使用react
和新的Context API
可以达到相同的结果。
基本上,我可以使用GraphQL API
或任何其他类似的库来消耗axios
。对于状态管理,我可以使用react的新Context API
来完成,这很简单。
axios.get('localhost://4000?qraphql').then((res)=>{
//do something with the response.
})
Apollo Client
还有什么优势。如果没有它,我为什么会真正追求Apollo client
呢?这将帮助我减小bundle
的大小。
答案 0 :(得分:1)
Apollo客户端除了简单地从服务器获取数据外,还提供大量功能。以下是一个非详尽的清单:
apollo-link-error
的强大错误处理工具loadMore
的分页支持apollo-link-ws
对订阅的支持apollo-link-state
与本地状态管理集成@defer
指令支持延迟查询有关更多详细信息,请参见广泛的文档here。
有些常见的模式导致必须编写(和测试)一堆样板代码,例如保持加载状态,以便您的UI知道请求何时完成。使用Apollo或任何其他类似的客户端,无需编写所有样板文件,并为您提供了一个经过良好测试的干净API。如果您在团队中工作,那么使用某些团队可能已经熟悉的文档齐全的库也有很多话要说,而不是学习专门为特定项目创建的新API。