Spaces:
Paused
Paused
Download ui/src/hooks/useFromNull.tsx from StaticExposure/ai-toolkit: direct link, hf CLI and curl.
- Browser
- Download file 484 Bytes
-
https://huggingface.co/spaces/StaticExposure/ai-toolkit/resolve/main/ui/src/hooks/useFromNull.tsx
- Command line
-
hf download hf://spaces/StaticExposure/ai-toolkit/ui/src/hooks/useFromNull.tsx
-
curl -L -o useFromNull.tsx https://huggingface.co/spaces/StaticExposure/ai-toolkit/resolve/main/ui/src/hooks/useFromNull.tsx
484 Bytes
| import { useEffect, useRef } from 'react'; | |
| export function useFromNull(effect: () => void | (() => void), deps: Array<any | null | undefined>) { | |
| const prevDepsRef = useRef<(any | null | undefined)[]>([]); | |
| useEffect(() => { | |
| const shouldRun = deps.some((dep, i) => prevDepsRef.current[i] == null && dep != null); | |
| if (shouldRun) { | |
| const cleanup = effect(); | |
| prevDepsRef.current = deps; | |
| return cleanup; | |
| } | |
| prevDepsRef.current = deps; | |
| }, deps); | |
| } | |