/ src / hooks / useTimeout.ts
useTimeout.ts
 1  import { useEffect, useState } from 'react'
 2  
 3  export function useTimeout(delay: number, resetTrigger?: number): boolean {
 4    const [isElapsed, setIsElapsed] = useState(false)
 5  
 6    useEffect(() => {
 7      setIsElapsed(false)
 8      const timer = setTimeout(setIsElapsed, delay, true)
 9  
10      return () => clearTimeout(timer)
11    }, [delay, resetTrigger])
12  
13    return isElapsed
14  }