重试获取GraphQLError

时间:2019-04-05 09:43:39

标签: graphql apollo

您好,我遇到了graphql错误,我想知道是否有办法通过显示警告以重试重新查询来处理错误。

在一个简短的示例中,我有以下内容

renderError() {
  Alert.alert(
    'ERROR',
    'There is a problem!',
    [
      { text: 'Try again', onPress: () => console.log('refetch query') },
      {
        text: 'Cancel',
        onPress: () => console.log('Cancel'),
        style: 'cancel',
      },
    ],
    { cancelable: false },
  );
}

render() {
  if(loading){
    return <Loader loadVisible={loadingVisible} animationType="fade" />;
  } else if (error){
    return <View>{this.renderError()}</View>;
  } else {
    ... 
  }
}

1 个答案:

答案 0 :(得分:0)

根据Apollo Queries中的文档,您可以从渲染道具模式访问m函数。

使用refetch()的方式与使用loadingerrordata的方式相同,然后只需传递它并在需要时调用它即可。

类似的东西:

refetch

希望有帮助。