什么时候应该使用一个中继GraphQL连接和一个普通列表?

在中继GraphQL中,连接和列表都是类似数组的,但是它们有不同的特性。 我应该什么时候使用每个?

连接

  • 比简单的列表更强大和灵活。
  • 用游标支持分页(前进和后退)。
  • 细粒度的变异支持(例如, RANGE_ADDRANGE_DELETENODE_DELETE ,如指南中所述 )。
  • 需要firstlast参数来限制结果集的大小。
  • 有一个edges字段,提供了一个位置来定位每个边缘,特定于边缘的数据。
  • 一个更重的概念,需要更多的工作来定义模式。

清单

  • 简单和轻量级。
  • 不支持分页(整个列表总是返回)。
  • 没有特殊的突变function,前置,附加等( 虽然这是一个要求的function )。

使用哪个?

  • 每当你需要分页时,你应该使用连接。
  • 如果您需要对突变进行细致的控制,即使您不需要分页,也可以select使用连接。
  • 如果你想要一个连接中的所有项目,你可以first使用一些大的数字。
  • 如果你想用最小的努力公开一个简短的列表,使用一个简单的列表。