UNPKG

@suspensive/react

Version:

Suspensive interfaces for react

16 lines (14 loc) 430 B
import { useCallback, useEffect, useRef } from "react"; //#region src/hooks/useTimeout.ts const useTimeout = (fn, ms) => { const fnRef = useRef(fn); fnRef.current = fn; const fnPreserved = useCallback(() => fnRef.current(), []); useEffect(() => { const id = setTimeout(fnPreserved, ms); return () => clearTimeout(id); }, [fnPreserved, ms]); }; //#endregion export { useTimeout }; //# sourceMappingURL=useTimeout.mjs.map