From ac99c9af4ac58c2f9538f1bb55c51ce366d7d151 Mon Sep 17 00:00:00 2001 From: Mitchell McCaffrey Date: Sun, 18 Jul 2021 09:12:32 +1000 Subject: [PATCH] Change debounce return to be optional --- src/contexts/AssetsContext.tsx | 3 +++ src/hooks/useDebounce.ts | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/contexts/AssetsContext.tsx b/src/contexts/AssetsContext.tsx index 73a174a..f86ee61 100644 --- a/src/contexts/AssetsContext.tsx +++ b/src/contexts/AssetsContext.tsx @@ -134,6 +134,9 @@ export function AssetURLsProvider({ children }: { children: React.ReactNode }) { // Update the asset keys to load when a url is added without an asset attached useEffect(() => { + if (!loadingDebouncedAssetURLs) { + return; + } let keysToLoad: string[] = []; for (let url of Object.values(loadingDebouncedAssetURLs)) { if (url.url === null) { diff --git a/src/hooks/useDebounce.ts b/src/hooks/useDebounce.ts index e5a3242..b880252 100644 --- a/src/hooks/useDebounce.ts +++ b/src/hooks/useDebounce.ts @@ -1,7 +1,7 @@ import { useEffect, useState } from "react"; -function useDebounce(value: Type, delay: number): Type { - const [debouncedValue, setDebouncedValue] = useState(value); +function useDebounce(value: Type, delay: number): Type | undefined { + const [debouncedValue, setDebouncedValue] = useState(); useEffect(() => { const timeout = setTimeout(() => {