React 18: Хук useRef

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 ต.ค. 2020
  • Есть несколько сценариев использования useRef хука. Первый когда нам нужны ссылки на dom-элементы из jsx. Второй когда нужно не реактивное состояние. В обоих сценариях объект, создаваемый с помощью useRef, помогает решать поставленную задачу.
    Наш главный курс "JavaScript старт" - constcode.ru/javascript-start
    Бесплатная консультация - constcode.ru/free-lesson
    Контакты:
    Сайт - constcode.ru
    VK - constcode
    TH-cam - / @web-constcode6252
    Telegram - t.me/constcode
    Discord - / discord
    Материал урока:
    github.com/Aleksey-Danchin/re...
    ru.reactjs.org/docs/hooks-ref...

ความคิดเห็น • 25

  • @GregoryArt1976
    @GregoryArt1976 ปีที่แล้ว +5

    Блин! Ахренительно объясняешь! Я с Практикума к тебе бегаю за знаниями. Спасибо

  • @annaa2940
    @annaa2940 2 ปีที่แล้ว +3

    Спасибо. Понятнее, чем написано в документации, объяснил.

  • @anipetrosyan4255
    @anipetrosyan4255 2 หลายเดือนก่อน

    wooow, thanks so much👍👍👍👍👍👍👍👍

  • @user-nk2qn7gy9w
    @user-nk2qn7gy9w 2 ปีที่แล้ว +4

    Спасибо! Очень понятно и просто.

  • @user-kn3ut1sh2o
    @user-kn3ut1sh2o 3 ปีที่แล้ว +5

    Спасибо, что освещаете тему хуков, очень нужная тема!

  • @flybystudio1213
    @flybystudio1213 3 ปีที่แล้ว +2

    Спасибо. Хорошо объяснил

  • @PIRAKAS666
    @PIRAKAS666 2 ปีที่แล้ว +3

    Спасибо!

  • @Sashad2003
    @Sashad2003 11 หลายเดือนก่อน

    Спасибо 👍

  • @Vlad-us9xt
    @Vlad-us9xt 3 ปีที่แล้ว +1

    top!

  • @igoriugin1253
    @igoriugin1253 3 ปีที่แล้ว +1

    Не понимаю, у всех изменение state в input не сбрасывает фокус, а у меня сбрасывает...

    • @web-constcode6252
      @web-constcode6252  3 ปีที่แล้ว

      Это говорит о том, что у тебя инпут пересоздается. Напиши мне в лк, покажешь баг, найдём проблему.

    • @igoriugin1253
      @igoriugin1253 3 ปีที่แล้ว

      @@web-constcode6252 я нашёл ответ, как раз сегодня.
      Моя ошибка была в том, что я обьявлял элемент в основной функции из-за чего он перерендевался.
      Я просто вынес компонент за функцию с рендером и передавал state через props.
      Спасибо за отклик!)

  • @sdsd-ec8rw
    @sdsd-ec8rw ปีที่แล้ว +2

    ахахахаха))))))) а первое применение useRef - это ты сам придумал?)) по секрету тебе скажу, вместо useRef можно обычную let-переменную использовать. результат будет такой же, без перерисовки компонента))

    • @web-constcode6252
      @web-constcode6252  ปีที่แล้ว

      А коли несколько компонентов ?

  • @lesson-web
    @lesson-web 2 ปีที่แล้ว +1

    Реально крутой урок, но у меня база некая уже есть, предварительно нужно знать принцип разботы хука useState

    • @web-constcode6252
      @web-constcode6252  2 ปีที่แล้ว +1

      Это 18 урок. Думаю, что useState к этому моменту уже должен быть известеен

  • @xxxxrat
    @xxxxrat ปีที่แล้ว +3

    Не кёрент, а карент.

  • @enigma9445
    @enigma9445 ปีที่แล้ว +2

    Нашел еще одно применение useRef() может кому пригодится.
    В React 18 useEffect() вызывается 2 раза. Долго не мог понять как заставить его вызываться один раз, пока не увидел такое решение:
    const isMouted = useRef()
    В useEffect создаем :
    if (isMouted.current) return // По умолчанию isMouted.current == undefined поэтому пройдет дальше
    isMouted.current = true //После true второй раз уже не будет рендериться

    • @web-constcode6252
      @web-constcode6252  ปีที่แล้ว +3

      В React 18 useEffect не вызывается 2 раза. Второй вызов - это вызов StrictMode, он был всегда и отсутствует на продакшане.