什么时候应该使用 Relay GraphQL 连接,什么时候应该使用普通列表? [英] When should I use a Relay GraphQL connection and when a plain list?

查看:28
本文介绍了什么时候应该使用 Relay GraphQL 连接,什么时候应该使用普通列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Relay GraphQL 中,连接和列表都类似于数组,但它们具有不同的特性.我应该什么时候使用它们?

In Relay GraphQL, connections and lists are both array-like, but they have different features. When should I use each?

推荐答案

连接

  • 比简单的列表更强大、更灵活.
  • 支持分页(向前和向后),使用游标.
  • 细粒度的变异支持(例如RANGE_ADDRANGE_DELETENODE_DELETE,如指南中所述).
  • 需要 firstlast 参数以限制结果集的大小.
  • 有一个 edges 字段,可用于定位每条边、特定于边的数据.
  • 一个更重要的概念,需要在架构中定义更多的工作.
  • Connections

    • More powerful and flexible than simple lists.
    • Support pagination (forward and back), with cursors.
    • Fine-grained mutation support (eg. RANGE_ADD, RANGE_DELETE, NODE_DELETE, as described in the guide).
    • Requires a first or last argument in order to limit the size of the result set.
    • Has an edges field that provides a place to locate per-edge, edge-specific data.
    • A heavier-weight concept, requiring more work to define in the schema.
      • 简单轻便.
      • 不支持分页(总是返回整个列表).
      • 没有用于前置、附加等的特殊突变功能(尽管它是请求的功能).
      • 无论何时需要分页,都应该使用连接.
      • 如果您需要对突变进行细粒度控制,您可以选择使用连接,即使您不需要分页.
      • 如果你想要一个连接中的所有项目,你可以使用 first 和一些大的数字.
      • 如果您想以最少的努力公开一个简短的列表,请使用一个简单的列表.

      这篇关于什么时候应该使用 Relay GraphQL 连接,什么时候应该使用普通列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆