use-debounce-effect
shadcn-hooks/use-debounce-effectFreeHook
A hook to debounce an effect
Install it
npx shadcn@latest add https://shadcn-hooks.com/r/use-debounce-effect.jsonSource
1import { useEffect, useState } from 'react'2import { useDebounceFn } from '@/registry/hooks/use-debounce-fn'3import { useUpdateEffect } from '@/registry/hooks/use-update-effect'4import type { DependencyList, EffectCallback } from 'react'5import type { DebounceOptions } from '@/registry/hooks/use-debounce-fn'67export function useDebounceEffect(8 effect: EffectCallback,9 deps: DependencyList,10 debounceMs?: number,11 options?: DebounceOptions,12) {13 const [flag, setFlag] = useState({})14 const { run } = useDebounceFn(15 () => {16 setFlag({})17 },18 debounceMs,19 options,20 )2122 useEffect(() => {23 return run()24 }, deps)2526 useUpdateEffect(() => {27 return effect()28 }, [flag])29}
What it pulls in
Other registry items
Files it writes
More from shadcn-hooks
All 58 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| use-active-elementuse-active-element | shadcn-hooks | Hooks | Free | no deps | |
| use-batteryuse-battery | shadcn-hooks | Hooks | Free | no deps | |
| use-booleanuse-boolean | shadcn-hooks | Hooks | Free | no deps | |
| use-click-any-whereuse-click-any-where | shadcn-hooks | Hooks | Free | no deps | |
| use-click-awayuse-click-away | shadcn-hooks | Hooks | Free | no deps | |
| use-clipboarduse-clipboard | shadcn-hooks | Hooks | Free | no deps | |
| use-controllable-valueuse-controllable-value | shadcn-hooks | Hooks | Free | 1 dep | |
| use-counteruse-counter | shadcn-hooks | Hooks | Free | no deps |
