Tiesen LogoYuki UI
Hooks

useDebounce

A custom React hook for debouncing function calls

Component Source

Installation

CLI

npx shadcn add https://yuki-ui.vercel.app/r/use-debounce.json

Manual

import * as React from 'react'const useDebounce = <T>(callback: (...args: T[]) => void, delay: number) => {  const timeoutRef = React.useRef<NodeJS.Timeout | null>(null)  const debouncedCallback = React.useCallback(    (...args: T[]) => {      if (timeoutRef.current) clearTimeout(timeoutRef.current)      timeoutRef.current = setTimeout(() => {        callback(...args)      }, delay)    },    [callback, delay],  )  return debouncedCallback}export { useDebounce }

On this page