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