useInterval
A React Hook that create a interval counter.
Demo
Usage
See API for more details.
Source
Click links below to view source on GitHub.
API
const count = useInterval(interval)
const { count, reset, ...controls } = useInterval(interval, { controls: true })
Interval
A number that represents the interval in milliseconds.
Options
export type UseIntervalOptions<Controls extends boolean> = {
  /**
   * Expose more controls
   *
   * @defaultValue false
   */
  controls?: Controls
  /**
   * Execute the update immediately on calling
   *
   * @defaultValue true
   */
  immediate?: boolean
  /**
   * Callback on every interval
   */
  callback?: (count: number) => void
}
Returns
Returns contain Pausable instance that can be paused, resumed.
See Pausable for more details.
export interface UseIntervalAction extends UseCounterReturnsAction, Pausable {
  /**
   * Reset the count
   */
  reset: (count?: number) => void
}
export type UseIntervalWithControlsReturns = [
  /**
   * Current count
   */
  count: number,
  /**
   * Counter Actions
   */
  UseIntervalAction,
]
export type UseIntervalReturns<Controls extends boolean> = Controls extends true ? UseIntervalWithControlsReturns : number