From 3cd0e7ac9ee6f785c0a22edcfbdfb89a38e5f1d1 Mon Sep 17 00:00:00 2001 From: sasza Date: Fri, 26 Jan 2024 20:03:46 +0100 Subject: [PATCH] fix: wait for api to load --- package.json | 2 +- src/hooks/useApiLoaded.ts | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 2fd398b..a053815 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-grid-panzoom", - "version": "1.4.0", + "version": "1.4.1", "description": "React grid component for pan and zoom with possibility to moving and selecting elements inside", "keywords": [ "react", diff --git a/src/hooks/useApiLoaded.ts b/src/hooks/useApiLoaded.ts index 8036d8e..9d0fc3e 100644 --- a/src/hooks/useApiLoaded.ts +++ b/src/hooks/useApiLoaded.ts @@ -7,10 +7,20 @@ const useApiLoaded = () => { const [apiLoaded, setApiLoaded] = useState(false); useEffect(() => { - if (apiLoaded || !panZoomRef.current) return; + if (apiLoaded) return; - setApiLoaded(true); - }, [apiLoaded, panZoomRef.current]); + const checkAPI = () => { + if (panZoomRef.current) setApiLoaded(true); + } + + checkAPI() + + const waitForAPI = setInterval(checkAPI, 10) + + return () => { + clearInterval(waitForAPI) + } + }, [apiLoaded]); return apiLoaded; };