From 4aea8cfe3b09afe231539a956a4c5a6c5b34fb66 Mon Sep 17 00:00:00 2001 From: Fedor Katurov Date: Sat, 4 Nov 2023 13:10:05 +0600 Subject: [PATCH] fix unnecessary autocomplete request --- src/hooks/tag/useTagAutocomplete.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/hooks/tag/useTagAutocomplete.ts b/src/hooks/tag/useTagAutocomplete.ts index a6920d80..8cbfb495 100644 --- a/src/hooks/tag/useTagAutocomplete.ts +++ b/src/hooks/tag/useTagAutocomplete.ts @@ -5,7 +5,10 @@ import useSWR from 'swr'; import { apiGetTagSuggestions } from '~/api/tags'; import { API } from '~/constants/api'; -export const useTagAutocomplete = (input: string, exclude: string[]): string[] => { +export const useTagAutocomplete = ( + input: string, + exclude: string[], +): string[] => { const [search, setSearch] = useState(''); useEffect(() => { @@ -14,12 +17,14 @@ export const useTagAutocomplete = (input: string, exclude: string[]): string[] = }, [input]); const { data } = useSWR( - `${API.TAG.AUTOCOMPLETE}?tag=${search}&exclude=${exclude.join(',')}`, + search + ? `${API.TAG.AUTOCOMPLETE}?tag=${search}&exclude=${exclude.join(',')}` + : null, async () => { const result = await apiGetTagSuggestions({ search, exclude }); return result.tags || []; - } + }, ); - return useMemo(() => data || [], [data]); + return useMemo(() => (search ? data ?? [] : []), [data, search]); };