вот пока я вбиваю текст в поле ввода, ничего не происходит, как только секунда прошла после последнего наждатия, то надо отослать запрос к серверу. Если бы делал с нефункциональным компонентом. Через классы, то я бы делал бы
onChange(ev)
if(this.timeout) {
clearTimeout(this.timeout);
}
this.timeout = setTimeout(() => this.onTimeout(), 1000);
setState({username:ev.target.value})
}
как то так.
А как делать в функциональной состовляющей? Она же все время дергается по onChange, где мне хранить хендл таймаута, что бы его переопределить, если onChange вызовется до того, как сработает таймаут? В стейте наверерное не красиво как то
Через хук useDebounce
компонент — мужской род
Обсуждают сегодня