Apollo useSubscription поведение при ошибке - PullRequest
0 голосов
/ 10 января 2020

У меня есть ловушка useSubscription, которая работает правильно, но через 60 секунд сервер решает прекратить подписку (причина не важна, это может произойти). Как я могу теперь снова подписаться? Я знаю, что ошибка установлена ​​в возвращаемом значении вызова useSubscription, но я не знаю, как отписаться.

Это простой компонент, который показывает ведение журнала модуля Kubernetes:

const Logs: React.FunctionComponent<Props> = props => {
  const { data, error } = useInstanceLogsSubscription({
    variables: { runid: props.namespace, pod: props.pod },
  });

  //WHAT TO DO WHEN ERROR IS SET??

  const logRef = useRef('');

  useMemo(() => {
    if (data) logRef.current += data.instanceLogs + '\r\n';
    if (error) logRef.current += error.message + '\r\n';
  }, [data, error, logRef]);

  return (
    <div className="sciui-card sciui-m-l sciui-p-l sciui-bg-p-5">
      <Log>{logRef.current}</Log>
    </div>
  );
};
...