@erudilabs/use-debounced-value
Version:
Debounce value changes
1 lines • 385 B
JavaScript
import{useEffect as r,useState as t,useRef as e}from"react";function n(n,c){const[u,o]=t(n),i=e(!1),m=e(void 0),w=e(!1),d=()=>window.clearTimeout(m.current);return r((()=>{i.current&&(w.current?(d(),m.current=window.setTimeout((()=>{w.current=!1,o(n)}),c)):(w.current=!0,o(n)))}),[n,c]),r((()=>(i.current=!0,d)),[]),[u]}export{n as useDebouncedValue};//# sourceMappingURL=index.mjs.map