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

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

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

17 ответов

22 просмотра

Делай диспатч 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. отмены предыдущего вызова (...

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

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта