169 похожих чатов

Здравствуйте Недавно начал изучать реакт И редакс вместе с ним Так вот, при

изменении текста в поле должен загружаться список языков (сейчас стоит заглушка в виде setTimeout)
Но изначально, если я быстро введу, например, три буквы в поле, то список языков загрузится для каждой из них, "проморгнув", соответственно, первые два из них. Нормально ли ЭТО решение проблемы, или не стоит вводить локальную переменную и сверять сразу со стором, или как еще?

17 ответов

24 просмотра

Делай диспатч loadLanguages через debounce http://demo.nimius.net/debounce_throttle/

Иван-П Автор вопроса
Ivan 🧑‍🚀
Делай диспатч loadLanguages через debounce http:/...

я сейчас с телефона, но загуглив, надеюсь, понял, что вы имеете ввиду но тогда, если я быстро введу те же самые 3 буквы, то список языков загрузится только для первой, разве нет?

Иван П
я сейчас с телефона, но загуглив, надеюсь, понял, ...

Только для последнего изменения. Где будут все три буквы

Иван-П Автор вопроса
Иван П
screenshot не то?

в этом примере выполняется только первая

Иван П
в этом примере выполняется только первая

Зависит от реализации. Пишется такая функция в три строки

Иван-П Автор вопроса
Ivan 🧑‍🚀
Зависит от реализации. Пишется такая функция в три...

у меня нет идей, как понять, "последняя ли функция за временной промежуток", ведь нельзя точно знать, когда я введу еще одну букву в поле

Иван П
у меня нет идей, как понять, "последняя ли функция...

1. когда произошло событие, нужно запустить таймиер 2, если до истечения таймера произошло новое событие, сбросить таймер и перейти к п.1 3. по истечению таймера вызвать функцию

Иван-П Автор вопроса
Ivan 🧑‍🚀
1. когда произошло событие, нужно запустить таймие...

я сделал почти тоже самое (на скрине), только без введения функции-обертки

Иван П
я сделал почти тоже самое (на скрине), только без ...

debounce — это классический паттерн, реализуется через функцию-обёртку (по-взрослому — HOF)

Иван-П Автор вопроса

этом

Иван П
этом

там точно не debounce. отмены предыдущего вызова (очистки таймера) нет, только задержка в 1 секунду перед новым

Иван-П Автор вопроса
Vitaliy Ponomarev
там точно не debounce. отмены предыдущего вызова (...

опять же, то, что на скриншоте, работает так, как надо просто, может, есть более "правильный" способ это сделать?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта