diff --git a/src/admin/api.ts b/src/admin/api.ts index 6e0a5ad54a..3c6b3ff2e0 100644 --- a/src/admin/api.ts +++ b/src/admin/api.ts @@ -12,7 +12,7 @@ export const requests = { } return fetch(`${url}${query}`, { credentials: 'include', - headers: options.headers, + ...options, }); }, diff --git a/src/admin/hooks/usePayloadAPI.tsx b/src/admin/hooks/usePayloadAPI.tsx index f5f1aae2b5..e281934d5c 100644 --- a/src/admin/hooks/usePayloadAPI.tsx +++ b/src/admin/hooks/usePayloadAPI.tsx @@ -43,12 +43,15 @@ const usePayloadAPI: UsePayloadAPI = (url, options = {}) => { }); useEffect(() => { + const abortController = new AbortController(); + const fetchData = async () => { setIsError(false); setIsLoading(true); try { const response = await requests.get(`${url}${search}`, { + signal: abortController.signal, headers: { 'Accept-Language': i18n.language, }, @@ -73,6 +76,10 @@ const usePayloadAPI: UsePayloadAPI = (url, options = {}) => { setIsError(false); setIsLoading(false); } + + return () => { + abortController.abort(); + }; }, [url, locale, search, i18n.language]); return [{ data, isLoading, isError }, { setParams }];