useDebounce Hook

Debounce values for performance optimization

ReactDebouncePerformance

useDebounce

Delay value updates until after specified time

Copy source code and paste it in hooks/devsloka-hooks folder

hooks/devsloka-hooks/use-debounce.tsx

1"use client";
2import { useState, useEffect } from "react";
3
4export const useDebounce = <T,>(value: T, delay: number): T => {
5 const [debouncedValue, setDebouncedValue] = useState<T>(value);
6
7 useEffect(() => {
8 const timer = setTimeout(() => setDebouncedValue(value), delay);
9 return () => clearTimeout(timer);
10 }, [value, delay]);
11
12 return debouncedValue;
13};