在 Relay GraphQL 中,连接和列表都类似于数组,但它们具有不同的特性。我应该什么时候使用每个?
问问题
4722 次
1 回答
64
连接
- 比简单的列表更强大、更灵活。
- 支持分页(前进和后退),带光标。
- 细粒度的突变支持(例如
RANGE_ADD
,,,,如指南中所述RANGE_DELETE
)。NODE_DELETE
- 需要一个
first
orlast
参数来限制结果集的大小。 - 有一个
edges
字段,它提供了一个位置来定位每个边缘、特定于边缘的数据。 - 一个较重的概念,需要在模式中定义更多的工作。
列表
- 简单轻便。
- 不支持分页(总是返回整个列表)。
- 没有用于前置、附加等的特殊突变功能(尽管它是一个请求的功能)。
使用哪个?
- 每当您需要分页时,都应该使用连接。
- 如果您需要对突变进行细粒度控制,您可以选择使用连接,即使您不需要分页。
- 如果你想要一个连接中的所有项目,你可以使用
first
一些大的数字。 - 如果您想以最小的努力公开一个简短的列表,请使用一个简单的列表。
于 2015-10-12T18:45:57.503 回答