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

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

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

17 ответов

9 просмотров

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

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

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

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

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Карта сайта