【发布时间】:2016-11-12 01:54:03
【问题描述】:
在relay/graphql中,如何表达一个响应可以为空的查询。我现在陷入两难境地,我无法以空/空响应响应,因为中继需要 id 字段(可能还有 graphql 架构中的其他不可为空的字段),并且我无法发送错误,因为它会停止我的正在渲染的组件。
例如,假设我正在对关系层次结构进行建模并且有一个类似的查询
getSpouse(partnerID: string): Person
这对某些人来说可能是空的。因此,我要么使用 null Person 对象进行响应(我认为中继不太可能,因为 Person 可能具有包括 globalID 在内的不可为空的字段),或者发送错误。可以发送错误,但我不确定如何捕获此错误并继续渲染中继容器。我知道在发生突变时很容易出错,但是查询是由中继容器处理的,并且看不到一个接口来获取错误并继续加载组件。
有没有办法在 Relay 容器中捕获查询错误或将其传递给我的组件?
【问题讨论】:
-
你是怎么解决的?
标签: javascript graphql relayjs relay graphql-js