为什么要在urql上使用Apollo / Relay?

时间:2019-07-17 22:59:07

标签: graphql graphql-js

我正在使用GraphQL的应用程序。到目前为止,我正在使用urql GraphQL客户端。与<urlql相比,使用 Apollo / Relay 有什么优势?

1 个答案:

答案 0 :(得分:4)

urql的核心贡献者?可能是回复较晚,但总比没有好

使用三种方法中的一种相对于其他方法有明显的优缺点。

在对架构的要求方面,中继非常严格,但这意味着对于大多数常见用例,中继具有非常易于使用的模式。它可以帮助您以很少的额外代码来设置分页,但是总的来说,它确实需要您向应用程序添加更多样板文件,否则它们可能会很小。

阿波罗(Apollo)是最受欢迎的解决方案,也是一个很好的“全面解决方案”。它有一些默认值,有时看起来有些古怪,但是可以解决99%的用例。它具有内置的通用归一化缓存,可以应用于任何API,并允许您根据自己的突变指定其常规缓存逻辑(缓存更新)的例外情况。

urql是最新的库,其目标是易于使用,小巧且可定制。它不像Apollo或Relay那样具有开箱即用的规范化缓存,但是可以单独添加。尽管API很简单,但是它允许进行深度定制,这是一把双刃剑:您可以针对特定的API解决意外的问题和代码解决方案,但是稍后可能需要了解urql的“交换”。

如何GraphQL网站上还有“ urql vs Relay vs Apollo”的较长部分:https://www.howtographql.com/react-urql/0-introduction/

希望这会有所帮助,并且不要太偏见!