هوکها
توابع
کامپوننتهای مرتبه بالا
useDebounce
این هوک راهی آسان برای تأخیر در اجرای هر تابع فراهم میکند و اطمینان میدهد که تابع فقط پس از تأخیر مشخص شده اجرا میشود.
مثال
import { useState, useCallback } from 'react'
import Input from '@/components/ui/Input'
import useDebounce from '@/utils/hooks/useDebounce'
import type { ChangeEvent } from 'react'
const Example = () => {
const [query, setQuery] = useState('')
const handleSearch = (input: string) => {
console.log('Searching for:', input)
};
const debouncedSearch = useDebounce(handleSearch, 300);
const handleChange = useCallback((event: ChangeEvent<HTMLInputElement>) => {
const value = event.target.value
setQuery(value)
debouncedSearch(value)
}, [debouncedSearch])
return (
<Input
type="text"
value={query}
onChange={handleChange}
placeholder="Search..."
/>
);
};
export default Example
پارامترها
| param | توضیحات | نوع | پیشفرض |
|---|---|---|---|
| func | تابعی که باید تأخیر در اجرای آن اعمال شود. | (...args: any) | - |
| wait | تعداد میلیثانیه تأخیر. اگر مشخص نشود، تابع با تأخیر پیشفرض (معمولاً توسط lodash تعیین میشود) اجرا میشود. | number | - |
API
مقدار بازگشتی
| بازگشتی | توضیحات | نوع | پیشفرض |
|---|---|---|---|
| func | نسخه تأخیری تابع ارائه شده، که اجرای آن بر اساس زمان انتظار و گزینههای مشخص شده به تأخیر میافتد. | (...args: any) | - |