/
lizardking
/
react_project
Обзор
Документация
Войти
/
lizardking
/
react_project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/features/refExample/model/useDebouncedLogger.ts
21 строка
650 B
LizardKing
Task 5 - useRef
17 окт 2025, 03:34
17 окт 2025, 03:34
e989e42
Код
Авторство
О чём код?
import type React from 'react' import { useRef, useState } from 'react' export function useDebouncedLogger(delayMs: number = 1000) { const [value, setValue] = useState('') const timeoutIdRef = useRef<number | null>(null) const onChange = (e: React.ChangeEvent<HTMLInputElement>) => { const next = e.target.value setValue(next) if (timeoutIdRef.current !== null) clearTimeout(timeoutIdRef.current) timeoutIdRef.current = window.setTimeout(() => { // eslint-disable-next-line no-console console.log(`DebouncedLogger: "${next}"`) timeoutIdRef.current = null }, delayMs) } return { value, onChange } }