【发布时间】:2022-01-06 07:22:32
【问题描述】:
我正在下载的地方有下载功能
const csvLink = createRef();
const dropdown = (
<div onClick={refetch}>
{safeLabel(messages.csv)}
<Icon name="pull" />
{isSuccess ? <CSVLink ref={csvLink} data={data?.data}></CSVLink> : null}
</div>
);
const onsuccess = (response) => {
csvLink?.current?.link?.click();
};
const { refetch, data, isSuccess } = useQuery(
"apicall",
() => fetchData(headers),
{
enabled: false,
onSuccess: onsuccess
}
);
所以,在这里,当我点击图标拉时,查询被调用并向我发送一个响应,我将它传递给csvLink 并尝试下载 csv。现在由于在查询成功时调用了csvLink?.current?.link?.click();,因此refetch 在无限循环中被调用。在哪里调用此点击以及如何解决此问题?
谢谢。
【问题讨论】:
-
根据您的代码,
csvDownloadSuccess称为onSuccess。不应该是这样吗? ` const { refetch, data, isSuccess } = useQuery( 'apicall', () => fetchData(headers), { enabled: false, onSuccess: onSuccess, }, );` -
对不起,我写错了,正在编辑它。
-
@Cid 更新了问题。
标签: javascript reactjs csv react-query