swr取消请求hook封装
· 阅读需 1 分钟
function useCancellableSWR(key, swrOptions) {
const source = axios.CancelToken.source();
return [
useSWR(key, (url) => axios.get(url, { cancelToken: source.token }).then(res => res.data), {
...swrOptions,
}),
source,
];
}
// usage:
const [{ data }, cancelFn] = useCancellableSWR('/endpoint');
cancelFn.cancel()
