TGViewer
Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js @frontendproglib · 20.9K subscribers
Post #8309 1.64K
🔥 Debounce на одной строке

Когда пользователь вводит текст в поиск или изменяет размер окна — запросы летят десятками. Debounce откладывает выполнение функции до тех пор, пока события не прекратятся.


const debounce = (fn, ms) => {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => fn(...args), ms);
};
};

// Использование
const handleSearch = debounce((value) => {
console.log('Поиск:', value);
}, 300);

// В React
<input onChange={(e) => handleSearch(e.target.value)} />


Когда использовать:

— Автокомплит и live-поиск
— Обработка resize/scroll событий
— Валидация форм при вводе
— Любые частые события

💡 Почему это работает:

При каждом новом вызове старый таймер сбрасывается и создаётся новый. Функция выполнится только когда пройдёт 300ms без новых событий.

📍 Навигация: [Вакансии]

🐸 Библиотека фронтендера

#readme #js #react
  • ❤ 8
  • 🥱 5
  • 👍 3
  • 💯 2
  • 🥰 1
More from @frontendproglib
  1. Sep 20, 2026🤔 Вопрос с собеседования Что выведет этот код? ❤️ — undefined 🔥 — "Alex" 👍 — "Max" 🤔 —…
  2. Sep 19, 2026📍 Навигация: [Вакансии] 🐸 Библиотека фронтендера #pixel_pause
  3. Sep 18, 2026🤔 Вопрос с собеседования Что выведет этот код? ❤️ — 42 и 42 🔥 — 42 и undefined 👍 — unde…
  4. Sep 17, 2026📎 Шпаргалка по фронтенду Этот документ объединяет ключевые темы, техники и механизмы, кот…
  5. Sep 16, 2026💛 Шрифт, который превращает текст в графики Datatype — необычный шрифт из Google Fonts, к…
  6. Sep 15, 2026⭐️ Шпаргалка по Grid alignment Если вы хоть раз путались между justify-* и align-* — вы не…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →