UNPKG

use-debouncy

Version:

🌀 Small (~0.2kb) debounce effect hook for React with TypeScript support

1 lines • 459 B
import{useRef as e,useCallback as n,useEffect as r}from"react";var a=(a,t=0)=>{const m=e(0),o=n(((...e)=>{cancelAnimationFrame(m.current);const n=performance.now(),r=o=>{o-n<t?m.current=requestAnimationFrame(r):a(...e)};m.current=requestAnimationFrame(r)}),[a,t]);return r((()=>()=>cancelAnimationFrame(m.current)),[]),o},t=[],m=(n,m=0,o=t)=>{const c=e(1),i=a(n,m);r((()=>{c.current?c.current=0:i()}),o)},o=a;export{m as useDebouncyEffect,o as useDebouncyFn};