diff --git a/src/useDebounce.ts b/src/useDebounce.ts index 4b3cd9ba..219d6cac 100644 --- a/src/useDebounce.ts +++ b/src/useDebounce.ts @@ -1,13 +1,13 @@ -import { useState, useEffect } from 'react'; +import { useEffect } from 'react'; const useDebounce = (fn: () => any, ms: number = 0, args: Array = []) => { - const [timeout, setTimeoutVar] = useState(null); - useEffect(() => { - // if args change then clear timeout - clearTimeout(timeout); - const t = setTimeout(fn.bind(null, args), ms); - setTimeoutVar(t); + let handle = setTimeout(fn.bind(null, args), ms); + + return () => { + // if args change then clear timeout + clearTimeout(handle); + } }, args); };