首页 > 解决方案 > 为什么我应该在 urql 上使用 Apollo/Relay?

问题描述

我正在开发使用 GraphQL 的应用程序。我正在使用urqlGraphQL 客户端,到目前为止我真的很喜欢它。使用Apollo/Relay的优势是什么urlql

标签: javascriptgraphqlgraphql-jsrelay

解决方案


urql 的核心贡献者在这里。可能回复晚了,但总比没有好

使用这三个中的一个而不是其他的有明显的优点和缺点。

Relay 对模式的要求非常严格,但这意味着它对于最常见的用例具有非常易于使用的模式。它将帮助您使用很少的额外代码设置分页,但总体而言,它确实需要您向应用程序添加更多样板,否则可能会非常小。

Apollo 是最流行的解决方案,也是一个很好的“全能者”。它有一些默认值,有时可能看起来很古怪,但可以说是为了解决 99% 的用例。它带有一个内置的通用规范化缓存,可以应用于任何 API,并允许您使用突变指定其正常缓存逻辑(缓存更新)的异常。

urql 是最新的库,旨在易于使用、小巧且可定制。它不像 Apollo 或 Relay 那样提供开箱即用的标准化缓存,但可以单独添加。虽然 API 很简单,但它确实允许深度定制,这是一把双刃剑:您可能会为您的特定 API 解决意外问题和代码解决方案,但它可能需要您稍后了解 urql 的“交换”。

How to GraphQL 网站上还有一个关于“urql vs Relay vs Apollo”的较长部分:https ://www.howtographql.com/react-urql/0-introduction/

希望这会有所帮助并且不会太偏颇!


推荐阅读