什么是「;GraphQL调用";在“RANGE\u ADD”mutator config的“rangeBehaviors”属性中?
什么是「;GraphQL调用";在“RANGE\u ADD”mutator config的“rangeBehaviors”属性中?,graphql,relayjs,Graphql,Relayjs,范围行为为: GraphQL调用映射到在这些调用影响下向连接添加新边缘时希望中继显示的行为。行为可以是“附加”、“预结束”或“删除”之一 文档中的示例是: rangeBehaviors: { // When the ships connection is not under the influence // of any call, append the ship to the end of the connection '': 'append', // Prepend the
范围行为
为:
GraphQL调用映射到在这些调用影响下向连接添加新边缘时希望中继显示的行为。行为可以是“附加”、“预结束”或“删除”之一
文档中的示例是:
rangeBehaviors: {
// When the ships connection is not under the influence
// of any call, append the ship to the end of the connection
'': 'append',
// Prepend the ship, wherever the connection is sorted by age
'orderby(newest)': 'prepend',
}
在另一个例子中,您有:
rangeBehaviors: {
'': 'append',
'status(any)': 'append',
'status(active)': 'append',
'status(completed)': null,
}
在这种情况下,“GraphQL调用”是什么?“受”这样一个调用的影响意味着什么?当您查询中继中的连接字段时,您可以指定超出标准分页参数的参数,这些参数包括
第一个,最后一个,之前,以及之后
在上面的TodoMVC示例中,我们通过状态上的当前筛选器限定查询。您所展示的TodoMVC代码的含义是,对于过滤状态为“active”
或“any”
(或默认状态)的查询,突变应该附加新的todo,但对于过滤状态为“completed”
(这在上下文中是有意义的,因为突变增加了一个新的、活跃的todo).Thank taion。您的意思是突变配置实例将rangeBehaviors
对象中的键视为连接字段中存在的参数的参数名称/参数值组合?因此,假设名为todos
parameterized的连接字段处于启用状态status
(除了第一个
、最后一个
等之外,范围行为
中名为status(any)
的键被mutator解释为“如果连接字段的status
参数有值any
,那么行为应该是追加
”?这基本正确——“调用”描述所有字段arg(标准连接arg除外)的值。它必须完全匹配。如果不匹配,中继将重新获取整个连接。我们可能应该从文档中删除对“call”的引用。“call”是GraphQL原始FB内部版本中的一个概念(例如things)。first(10).fizz(5)
;在开源版本中,这些参数变成了字段参数(例如things(first:10,fizz:5)
)。