阿波罗useSubscription行为错误

时间:2020-01-10 10:09:01

标签: reactjs react-hooks react-apollo react-apollo-hooks

我有一个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>
  );
};

0 个答案:

没有答案