javascript - 为什么我应该在 urql 上使用 Apollo/Relay?

标签 javascript graphql graphql-js relay

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.


8 个月前关闭。


社区在 8 个月前审查了是否重新打开此问题并将其关闭:

原始关闭原因未解决






Improve this question




我正在开发使用 GraphQL 的应用程序。我正在使用 urql GraphQL 客户端,到目前为止真的很喜欢。与 urlql 相比,使用 Apollo/Relay 有哪些优势? ?

最佳答案

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/
希望这会有所帮助并且不会太偏颇!

关于javascript - 为什么我应该在 urql 上使用 Apollo/Relay?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57084996/

相关文章:

javascript - 隐藏 iframe 垂直滚动条并显示全部内容

javascript - 如何使用 Raphael JS 进行自由变换?

react-native - GraphQL DynamoDB 架构中的默认主键?

graphql - 是否可以在 GraphQL 中实现多个接口(interface)?

javascript - 当屏幕尺寸大于折叠断点时,如何使导航栏下拉列表水平显示,居中对齐?

aws-lambda - 无服务器 GraphQL 订阅

javascript - 使用Facebook的DataLoader传递参数

node.js - GraphQL/Prisma 订阅仅针对 DELETE 触发

javascript - 将多个相似的函数附加到原型(prototype)