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 (将#修改为@)