Хуки useThrottle/useDebounce в React

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 22

  • @МарияЧерешня-у2й
    @МарияЧерешня-у2й 2 года назад +8

    Вот бы таких учебных материалов побольше было бы. Спасибо большое за информации. Удачи вам!

    • @ayub_begimkulov
      @ayub_begimkulov  2 года назад

      Постараюсь чаще выкладывать, спасибо за фидбэк!

  • @anas4ik777
    @anas4ik777 2 года назад +7

    Отличное видео ! Продолжайте в том же духе !

  • @myspace2003
    @myspace2003 2 года назад +3

    Спасибо ! Видео помогло ! Удачи вам!

  • @АндрейКутузов-ф4п
    @АндрейКутузов-ф4п Год назад +1

    Дай бог тебе здоровья, бро!) Просто спас!)

    • @ayub_begimkulov
      @ayub_begimkulov  Год назад

      Рад, что было полезно) спасибо!

  • @МурадМавлидов
    @МурадМавлидов 2 года назад +1

    Наконец-то понятное объяснение, огонь!

  • @amina_tulips
    @amina_tulips Год назад +2

    Замечательно всегда удачи вам!

  • @sia4281
    @sia4281 Год назад +1

    Супер!

  • @dever312
    @dever312 Год назад +1

    Бро я дальше useCallback и useMemo перестал понимать. Точнее, думаю можно же ведь обойтись без всего следующего. Или у меня уровень еще не тот, и не сталкивался с такими проблемами. А так awesome.

  • @vitaliibudkin8210
    @vitaliibudkin8210 Год назад +1

    Сложная тема!

    • @ayub_begimkulov
      @ayub_begimkulov  Год назад

      Тут кажется самая сложная часть - это useLatest в связке с useMemo. Остальное легко должно быть понять.

  • @druf5962
    @druf5962 Год назад

    жаль TS нету

    • @ayub_begimkulov
      @ayub_begimkulov  Год назад +1

      В планах есть переснять эти видосы. Так что все будет!

  • @sergei_sergeevu4
    @sergei_sergeevu4 2 года назад +1

    Печально, мои комментарии почему-то банит и удаляет ютуб, возможно из-за ссылок, придется как-то без них обойтись (
    Подскажите пожалуйста, в видео вы передаете 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 года назад +1

      По поводу других реализаций - согласен, тоже мне сильно не понравились.
      А касательно debounce из lodash - это просто проще всего.
      Но если ты посмотришь на хук, который я делал для библиотеки tiny-use-debounce, там можно создать хук со своей реализацией.
      Просто сложно удовлетворить разные детали debounce’а, поэтому все берут lodash - самый навороченный и популярный как дефолт.
      А кастомную реализацию думаю не имеет смысла снимать - такого уже очень много, вряд ли я что-то добавить смогу)