diff --git a/job-tracker-ui/src/hooks/useViewResource.ts b/job-tracker-ui/src/hooks/useViewResource.ts index de6aee9..720dd78 100644 --- a/job-tracker-ui/src/hooks/useViewResource.ts +++ b/job-tracker-ui/src/hooks/useViewResource.ts @@ -65,11 +65,16 @@ export function useViewResource( const [hasLoaded, setHasLoaded] = useState(false); const [error, setError] = useState(null); const hasLoadedRef = useRef(hasLoaded); + const loadRef = useRef(load); useEffect(() => { hasLoadedRef.current = hasLoaded; }, [hasLoaded]); + useEffect(() => { + loadRef.current = load; + }, [load]); + const reload = useCallback(async () => { if (!enabled) return; @@ -77,7 +82,7 @@ export function useViewResource( setLoading(!alreadyLoaded); setRefreshing(alreadyLoaded); try { - const next = await load(); + const next = await loadRef.current(); setData(next); setError(null); setHasLoaded(true); @@ -88,7 +93,7 @@ export function useViewResource( setLoading(false); setRefreshing(false); } - }, [enabled, errorMessage, load]); + }, [enabled, errorMessage]); useEffect(() => { if (!enabled) {