UNPKG

@suspensive/react

Version:

Suspensive interfaces for react

1 lines 697 B
{"version":3,"file":"useTimeout.cjs","names":[],"sources":["../../src/hooks/useTimeout.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react'\n\nexport const useTimeout = (fn: () => void, ms: number) => {\n const fnRef = useRef(fn)\n fnRef.current = fn\n const fnPreserved = useCallback(() => fnRef.current(), [])\n useEffect(() => {\n const id = setTimeout(fnPreserved, ms)\n return () => clearTimeout(id)\n }, [fnPreserved, ms])\n}\n"],"mappings":";;;AAEA,MAAa,cAAc,IAAgB,OAAe;CACxD,MAAM,0BAAe,EAAE;CACvB,MAAM,UAAU;CAChB,MAAM,2CAAgC,MAAM,QAAQ,GAAG,CAAC,CAAC;CACzD,2BAAgB;EACd,MAAM,KAAK,WAAW,aAAa,EAAE;EACrC,aAAa,aAAa,EAAE;CAC9B,GAAG,CAAC,aAAa,EAAE,CAAC;AACtB"}