在 relay/graphql 中,如何表达一个响应可以为空的查询。我现在有一个难题,我不能用空/空响应来响应,因为id
中继需要字段(可能还有 graphql 模式中的其他不可为空的字段),并且我不能发送错误,因为它会阻止我的组件被渲染.
例如,假设我正在建模一个关系层次结构并且有一个类似的查询
getSpouse(partnerID: string): Person
这对某些人来说可能是空的。因此,我要么使用 null Person 对象进行响应(我认为中继不太可能,因为 Person 可能具有包括 globalID 在内的不可为空的字段),或者发送错误。可以发送错误,但我不确定如何捕获此错误并继续渲染中继容器。我知道在发生突变的情况下很容易出错,但是查询是由中继容器处理的,并且看不到一个接口来获取错误并继续加载组件。
有没有办法在中继容器中捕获查询错误或将其传递给我的组件?