Хуки useThrottle/useDebounce в React

  Рет қаралды 7,629

Ayub Begimkulov

Ayub Begimkulov

Күн бұрын

В данном видео я расскажу о там, как правильно в реакт подойти к использованию throttle и debounce. И как обычно, после разбора темы напишем универсальный хук.
Ссылка на codesandbox:
codesandbox.io...
Видео о хуке useLatest:
• Продвинутая мемоизация...
Мой канал в Telegram:
telegram.me/ay...

Пікірлер: 22
@user-kj6go4ft4j
@user-kj6go4ft4j 2 жыл бұрын
Вот бы таких учебных материалов побольше было бы. Спасибо большое за информации. Удачи вам!
@ayub_begimkulov
@ayub_begimkulov 2 жыл бұрын
Постараюсь чаще выкладывать, спасибо за фидбэк!
@anas4ik777
@anas4ik777 2 жыл бұрын
Отличное видео ! Продолжайте в том же духе !
@ayub_begimkulov
@ayub_begimkulov 2 жыл бұрын
Спасибо!
@myspace2003
@myspace2003 2 жыл бұрын
Спасибо ! Видео помогло ! Удачи вам!
@ayub_begimkulov
@ayub_begimkulov 2 жыл бұрын
Рад был помочь!
@user-eu8kf1xb9h
@user-eu8kf1xb9h 9 ай бұрын
Дай бог тебе здоровья, бро!) Просто спас!)
@ayub_begimkulov
@ayub_begimkulov 9 ай бұрын
Рад, что было полезно) спасибо!
@user-vq8zi4ne7s
@user-vq8zi4ne7s 2 жыл бұрын
Наконец-то понятное объяснение, огонь!
@ayub_begimkulov
@ayub_begimkulov 2 жыл бұрын
Спасибо, рад помочь!
@amina_tulips
@amina_tulips Жыл бұрын
Замечательно всегда удачи вам!
@ayub_begimkulov
@ayub_begimkulov Жыл бұрын
Спасибо большое!
@dever312
@dever312 Жыл бұрын
Бро я дальше useCallback и useMemo перестал понимать. Точнее, думаю можно же ведь обойтись без всего следующего. Или у меня уровень еще не тот, и не сталкивался с такими проблемами. А так awesome.
@sia4281
@sia4281 Жыл бұрын
Супер!
@ayub_begimkulov
@ayub_begimkulov Жыл бұрын
Спасибо!
@vitaliibudkin8210
@vitaliibudkin8210 Жыл бұрын
Сложная тема!
@ayub_begimkulov
@ayub_begimkulov Жыл бұрын
Тут кажется самая сложная часть - это useLatest в связке с useMemo. Остальное легко должно быть понять.
@druf5962
@druf5962 Жыл бұрын
жаль TS нету
@ayub_begimkulov
@ayub_begimkulov Жыл бұрын
В планах есть переснять эти видосы. Так что все будет!
@sergei_sergeevu4
@sergei_sergeevu4 2 жыл бұрын
Печально, мои комментарии почему-то банит и удаляет ютуб, возможно из-за ссылок, придется как-то без них обойтись ( Подскажите пожалуйста, в видео вы передаете const debouncedFn = useMemo( useMemo( () => debounceFn((...args) => { latestCb.current(...args); }, ms --> параметры lodash), [ms - параметры lodash, latestCb] ); В вашем блоге, описан пример с TS, на github правильно) return useMemo( () => debounce((...args: Paramters) => { unstable_batchedUpdates(() => { latestCb.current(...args); }); }, --> тут не хватает параметров lodash), [latestCb, ...rest] ); Понравилось, что в хуке можно передавать параметры и функция не вызывается сразу Как например, react-use: useTimeoutFn (типо useDebounce или useDebounceFn) Так наверное сделано из-за того, что функция вызывается сразу в useEffect -> set() - который ничего не знает про параметры У них, useDebounce(типо useDebounceEffect) Заметил, что многие библиотеки предоставляющие useDebounce, используют lodash. Например: alibaba/hooks Возможно, в одном из следующих уроков, вы рассмотрите реализацию собственного debounce подобной с lodash)
@ayub_begimkulov
@ayub_begimkulov 2 жыл бұрын
По поводу других реализаций - согласен, тоже мне сильно не понравились. А касательно debounce из lodash - это просто проще всего. Но если ты посмотришь на хук, который я делал для библиотеки tiny-use-debounce, там можно создать хук со своей реализацией. Просто сложно удовлетворить разные детали debounce’а, поэтому все берут lodash - самый навороченный и популярный как дефолт. А кастомную реализацию думаю не имеет смысла снимать - такого уже очень много, вряд ли я что-то добавить смогу)
Хуки useDebounceEffect/useThrottleEffect
14:00
Ayub Begimkulov
Рет қаралды 1,1 М.
Как сохранять React состояние в URL.
18:26
Ayub Begimkulov
Рет қаралды 4,4 М.
He bought this so I can drive too🥹😭 #tiktok #elsarca
00:22
Elsa Arca
Рет қаралды 44 МЛН
Throwing Swords From My Blue Cybertruck
00:32
Mini Katana
Рет қаралды 11 МЛН
Incredible Dog Rescues Kittens from Bus - Inspiring Story #shorts
00:18
Fabiosa Best Lifehacks
Рет қаралды 35 МЛН
小丑和白天使的比试。#天使 #小丑 #超人不会飞
00:51
超人不会飞
Рет қаралды 34 МЛН
React Custom Hooks: useDebounce - Simply Explained!
10:38
Cosden Solutions
Рет қаралды 28 М.
Пишем вместе throttle и debounce | Уроки JavaScript
22:25
Елена Литвинова — Искусство Веб-разработки 🛸
Рет қаралды 9 М.
Кастомные React-Хуки, useToggle, useLocalStorage
22:20
Михаил Непомнящий
Рет қаралды 19 М.
He bought this so I can drive too🥹😭 #tiktok #elsarca
00:22
Elsa Arca
Рет қаралды 44 МЛН