微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apollo错误链接-onError方法中的setState

如何解决Apollo错误链接-onError方法中的setState

我正在尝试向用户显示从阿波罗API调用获得的错误消息, 我尝试将我当前的错误保存在onError方法内的ApolloProvider状态下。 问题是onError方法不会停止重新运行,然后我的页面一次又一次地重新呈现。

我的目标:

当我遇到API错误以将消息错误保存为我的状态时,如果errorMsg不为空以向用户显示消息,并在几秒钟后将错误消息重置为'',则消息将消失

  const [error,setError] = useState('')

  const resetError => setError('')

  const errorLink = onError(({ graphQLErrors,networkError }) => {
    if (graphQLErrors && graphQLErrors?.length > 0) {
      setError(graphQLErrors[0].message)
    }
    if (networkError) console.log(`[Network error]: ${networkError}`)
  })

  return (
    <ApolloProvider client={apolloClient}>
      {children}
      {error && <Toast message={getMessage(100)} resetError={resetError}/>}
    </ApolloProvider>
  )

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。