Введение:
Привет, мир,
На этой неделе что-то немного другое (я пробую новую концепцию!).
Что такое дебаунс?
Я слышал об этом термине «Debounce» в пространстве React/JavaScript, но на самом деле я не знаю, что это такое.
Мне кажется, что я должен это знать, поэтому я попытаюсь ознакомиться с этой концепцией (используя для этого этот пост в блоге).
Надеюсь, вы сможете чему-то научиться из этого сообщения в блоге.
Как всегда, прежде чем мы перейдем к этому сообщению, обязательно поаплодируйте сообщению и поделитесь им с друзьями. На самом деле, дайте мне знать, что вы думаете об этой новой концепции, может быть, я сделаю это снова!
Приятного чтения!
Так что же такое на самом деле откат в React?
Я собираюсь использовать множество различных источников, чтобы прийти к своему собственному пониманию Debounce. Я также обязательно включу ссылки на них, чтобы вы могли прочитать больше, а также предоставить кредиты.
Похоже, это практика разработки программного обеспечения, которая гарантирует, что тяжелые задачи не будут запускаться слишком часто. Ясно, что это связано с производительностью, потому что тяжелая функция, вызываемая несколько раз, может сильно замедлить работу нашего приложения.
Способы реализации отката:
Просто используя setTimeout(). Помните clearTimeout(), если в useEffect().
Использование функции lodash debounce(), которая, по сути, просто использует setTimeout с тайм-аутом, являющимся отдельным параметром. Это может быть сделано с помощью useCallback()/useMemo().
Хук useDebounce().
Я мог бы продолжать и продолжать, но существует четкая закономерность между использованием значения тайм-аута и проверкой того, изменилось ли значение или нет, чтобы предотвратить повторный рендеринг.
Ссылки:
Заключение:
Возможно, я знал об этой теме больше, чем думал.
С учетом сказанного, это все еще был полезный опыт. Теперь я должен быть в состоянии реализовать дебаунс в коде (это кажется достаточно простым!)
Заключительные вещи:
Для меня это был просто очень быстрый способ углубиться в тему.
Как всегда, спасибо за чтение, не забудьте проверить мои ссылки:
Хештеги:
#javascript #html #programming #css #coding #java #python #developer #programmer #webdeveloper #webdevelopment #code #coder #php #webdesign #software #softwaredeveloper #computerscience #codinglife #reactjs #технологии #frontend #разработка #программисты #js #web #инженер-программист #programmingmemes #linux #javascriptdeveloper #typescript #debounce