| 1234567891011121314151617181920212223 |
- import { useEffect, useRef } from 'react'
- export function useInterval(callback: () => void, delay: number | false) {
- const savedCallback = useRef(callback)
- useEffect(() => {
- savedCallback.current = callback
- }, [callback])
- useEffect(() => {
- if (delay === false) {
- return
- }
- const id = setInterval(() => {
- savedCallback.current()
- }, delay)
- return () => {
- clearInterval(id)
- }
- }, [delay])
- }
|