#3: React Hooks - useRef

  Рет қаралды 64,116

Archakov Blog

Archakov Blog

Күн бұрын

📢 Платный курс по ReactJS с наставником: mentor.archakov.im/landing.html
❤️ Поддержка:
- Patreon: / archakovblog
- Донаты: www.donationalerts.com/r/arch...
📢 О чём я буду рассказывать?
Я решил сделать новый курс по React-хукам и рассказать подробно о том, как работает каждый хук. В данном видео, я рассказываю о хуке useRef. Как он работает, зачем нужен и как переписать классовый компонент на хуки.
Видео по остальным хукам:
- useState: • #1: React Hooks - useS...
- useEffect: • #2: React Hooks - useE...
❓ Кому подойдёт этот курс?
Для начинающих, которые только начали изучать ReactJS и для тех, кто изучает более 3-х месяцев.
На каждый хук, есть отдельная ветка в репозитории ниже. Просто кликаете по "Branch" и выбираете нужный хук.
Ссылка на GitHub: github.com/Archakov06/react-h...
0:00 - Начало
0:45 - Введение
1:40 - Делаем скролл без хука
4:04 - Удаляем обработчик скролла с помощью кнопки
6:57 - Какая проблема у простого подхода без хука?
8:55 - Почему происходит эта проблема?
11:55 - Решаю проблему с помощью хука useRef и объясняю зачем он нужен и как работает
18:45 - Удаляем обработчик скролла через хук
21:41 - Пример использования useRef не только для работы с DOM-элементами
26:50 - Резюмирую
🔗 Следите за обновлениями и информацией в:
- Telegram-канале: t.me/archakov_im
- VK: archakov_im
- Личном блоге: archakov.im
- GitHub: github.com/Archakov06
- Моё резюме: career.habr.com/archakovim

Пікірлер: 153
@oleksiimishchenko5827
@oleksiimishchenko5827 9 ай бұрын
Мало того, что все доходчиво и в деталях объяснил, так еще и грамотной речью и с четкой дикцией! Я в восторге от автора!
@kulikboxx
@kulikboxx 2 жыл бұрын
Гений чистой красоты! Снимаю шляпу и аплодирую стоя! Плейлист по реакт-хукам просто бомба! Спасибо тебе огромное, добрый человек!
@vadim9634
@vadim9634 3 жыл бұрын
это лучшее что я видел о этом хуке ,спасибо
@user-rp6er4mp2f
@user-rp6er4mp2f 3 жыл бұрын
Я в проде работаю более полугода и до этих пор не понимал до конца хуки, смотрел кучу видосов по хукам, но это видео оказалось самым внятным и самым разборчивым.
@user-pk9be7ep9p
@user-pk9be7ep9p 2 жыл бұрын
В компании?
@user-zs7kr6yp2s
@user-zs7kr6yp2s 3 жыл бұрын
Будь здоров ! Спасибо !
@user-re2hk5ub7m
@user-re2hk5ub7m 3 жыл бұрын
Супер полезное видео, спасибо за труд!
@alexrybalov8917
@alexrybalov8917 3 жыл бұрын
Это видео меня спасло. Благодарю.
@user-pw3zu1ed4v
@user-pw3zu1ed4v 3 жыл бұрын
Спасибо большое за подробный материал
@ValentinTayursky
@ValentinTayursky 2 жыл бұрын
Спасибо за объяснения. Весьма полезное видео!
@blackwood8816
@blackwood8816 Жыл бұрын
Как же все подробно и доходчиво объяснил, благодарю 🙏
@11wingsofdeath
@11wingsofdeath 9 ай бұрын
Благодарю ❤ очень круто объясняешь механику
@romankhudovekov5145
@romankhudovekov5145 3 жыл бұрын
Благодарю за полезное видео!
@alexandrzhuykov7355
@alexandrzhuykov7355 2 жыл бұрын
Самое крутое объяснение этого хука!!! СПАСИБО!!
@xmarsianca
@xmarsianca 2 жыл бұрын
Прекрасное объяснение!! Спасибо!
@user-gp9lt9cc2d
@user-gp9lt9cc2d 3 жыл бұрын
Супер. Круто объясняешь. Продолжай
@sviatbondar1721
@sviatbondar1721 Жыл бұрын
Просто без лишнего, и такие мелочи не везде узнаешь. Спасибо!!
@nikitakurochka2752
@nikitakurochka2752 3 жыл бұрын
Очень крутое видео. Долгое время мучали вопросы по этой теме) А тперь все пушка !!
@user-ve9rx1ju6i
@user-ve9rx1ju6i 3 жыл бұрын
Привет. Спасибо за отличный материал!
@daryaemelyanova1785
@daryaemelyanova1785 10 ай бұрын
Очень наглядно и пример хороший 👍
@unknown.6914
@unknown.6914 6 ай бұрын
Прекрасный урок, спасибо
@lovikuanyshev
@lovikuanyshev Жыл бұрын
Спасибо огромное за такое классное объяснение! Мне понравилось, что ты первую часть урока посвятил тому как решить проблему используя "костыли" и другие похожие инструменты, а потом уже показал как правильно делать, и еще тот момент, что ты детально описываешь поведение компонента через все жизненные циклы так информация очень хорошо усваивается, максимально доходчиво!
@strel9
@strel9 3 жыл бұрын
лукос не глядя, какраз хотел с useRef разобраться
@DzhavidR
@DzhavidR 3 жыл бұрын
круту, круто! Спасибо. Давно ждал по хукам видео именно от тебя, именно потому что хорошо объясняешь. Надеюсь и по остальным хукам будет видео, в частности useReducer вообще туго дается
@dimags500
@dimags500 Жыл бұрын
Очень хороши ваши уроки , спасибо
@br_ann
@br_ann Жыл бұрын
Спасибо за объяснение!
@rimavedeckiene2203
@rimavedeckiene2203 7 ай бұрын
Thaks. All iš very clear. No questions. It is the best video about useEffect🎉🎉🎉🎉🎉🎉🎉🎉
@tatyanamaksymenko289
@tatyanamaksymenko289 3 жыл бұрын
Благодарочка!)
@olegbukovskiy7484
@olegbukovskiy7484 Жыл бұрын
Благодарю, было полезно 👍
@turalinov
@turalinov Жыл бұрын
Очень понятно, спасибо)
@volodya_kod6
@volodya_kod6 Ай бұрын
Спасибо мужик, все стало понятно!
@Poziratelb
@Poziratelb 3 жыл бұрын
Как раз вожусь с ними. Дают много возможностей
@MAKSIMTSA
@MAKSIMTSA Жыл бұрын
Круто! НАконец-то все понял. По полочкам разложил!)
@dinmukhammedtleuzhanuly1225
@dinmukhammedtleuzhanuly1225 2 жыл бұрын
Спасибо, за крутое обьяснение)
@bohdanshyrii2380
@bohdanshyrii2380 2 ай бұрын
спасибо мужик! очень помог!
@alexsandr9444
@alexsandr9444 3 жыл бұрын
Круто объясняешь, давай про остальные хуки
@crypto4elik
@crypto4elik Жыл бұрын
очень ясно! спасиб!
@Virisound
@Virisound Жыл бұрын
Коммент в поддержку видео: "Даaa..., отличная работа".
@ALEKSEY_77737
@ALEKSEY_77737 3 жыл бұрын
отлично!
@serg1221
@serg1221 2 жыл бұрын
великолепно
@wither-it-channel
@wither-it-channel Жыл бұрын
лайк не глядя
@ruslankarimov6490
@ruslankarimov6490 Жыл бұрын
спасибо!!!
@challengetolearnenglishfor9823
@challengetolearnenglishfor9823 Ай бұрын
Thank you very much
@bur5153
@bur5153 3 жыл бұрын
1)Нужно для того что бы достучаться правильно до дом элемента, и повесить на него обработчик событий или достучаться до какой либо функции этого элемента(audio,video(play,pause и т д.) 2)Нужен для того что бы хранить актуальные данные из переменной(на которой есть useRef), так как при рендере компоненты ссылка на актуальную переменную теряется
@drewnaumenko2469
@drewnaumenko2469 3 жыл бұрын
" повесить на него обработчик событий " ну вот немного непонятно именно в каких случаях делать так как в видео а в каких console.log('scroll')}>
@kava648
@kava648 3 жыл бұрын
@@drewnaumenko2469 в теории, если тебе не нужно будет, скажем, в дальнейшем удалять обработчик, то можно и просто добавить onScroll
@drewnaumenko2469
@drewnaumenko2469 3 жыл бұрын
@@kava648 кстати хорошая тема поднялась Когда мы через атрибуты обработчики навешиваем мы и никогда их не удаляли. например onClick или любой другой евент. Click и всё; мы же не удаляем обработчик мы вот так на кнопку обработчик навесили и всё почему со скоролом мы должны удалять?
@AndreyEricksonGame
@AndreyEricksonGame 2 жыл бұрын
@@drewnaumenko2469 Как я думаю, мы должны удалять обработчик события - 'скролл', как ни странно, чтобы отменить это событие скролла. Потому что пока мы не удалим прослушку события, то логично, что событие скролл никуда не денется и callback внутри addEventList будет вызываться при каждом скролле. Надеюсь ответил на ваш вопрос
@drewnaumenko2469
@drewnaumenko2469 2 жыл бұрын
@@AndreyEricksonGame ну это если мы его навешиваем через addEventListener , а если через атрибуты? точно не знаю но через атрибуты React под капотам сам чистит всё, видимо так.
@user-se2gf7em6d
@user-se2gf7em6d 3 жыл бұрын
ul { height: 150px; overflow: auto; } необходимо добавить это css свойство, иначе скрол не будет отрабатывать
@user-rn3et9eh5x
@user-rn3et9eh5x 2 жыл бұрын
Ценю тебя мужик!
@user-ym2iq4wi1i
@user-ym2iq4wi1i 3 жыл бұрын
Переписывал следом за тобой до таймеров, и не понимал, почему у меня нет в логах сообщения о скролле, спустя минут 30 допер что без css стилей таких же, он не фиксируется ) Видосы крутые!
@user-bo7mb9cf4d
@user-bo7mb9cf4d 3 жыл бұрын
Топ!
@kenanhaciyev3759
@kenanhaciyev3759 10 ай бұрын
спасибо
@user-tt3bc7yk8r
@user-tt3bc7yk8r 3 жыл бұрын
братан ждем про useCallback от тебя
@cradleofkaschenko2057
@cradleofkaschenko2057 2 жыл бұрын
Про сам хук начинается с 12:00. Революционный подход!
@user-rp8oy2kf5d
@user-rp8oy2kf5d 3 жыл бұрын
На 6:10 уже сам реакт намекает нам Assignments to the 'ultElem' variable from inside React Hook useEffect will be lost after each render. To preserve the value over time, store it in a useRef Hook and keep the mutable value in the '.current' property. Otherwise, you can move this variable directly inside useEffect react-hooks/exhaustive-deps
@Witcher-simple-YouTube
@Witcher-simple-YouTube Жыл бұрын
Очень хочется в твоей подаче послушать про mobx
@strel9
@strel9 3 жыл бұрын
сделай видос собеса на Джуна на Реакт, может одного или нескольких подписчиков (или как вариант вакансию на HH разместить), думаю будет популярный видос
@-web2378
@-web2378 3 жыл бұрын
Думаю нет
@ultraduck100
@ultraduck100 3 жыл бұрын
@@-web2378 ну да, все же сразу на мидла или сеньера идут
@-web2378
@-web2378 3 жыл бұрын
Ruslan Nagiev тут не в этом дело. Либо ты идёшь и проходишь собеседование на джуна, либо ты сидишь и смотришь видос на ютубе. Если человек хочет найти работу, в частности джуна, то он берет и идёт и ползёт на собеседование. А у вас получается другой подход, который называется «Сижу смотрю видос про собеседование джуном, но на джуна не пойду ещё года два» . И чем больше вы ждёте такой ролик, тем больше вероятность того, что вы будете джуном, который так и не пойдёт на собеседование, но будет с удовольствием переносить все тяготы и невзгоды через другого, точнее через того, который видос этот снимет. Вот и вывод, что вам легче посмотреть видос по собеседованию часа на два, чем сходить и самому пройти эти собеседования.
@strel9
@strel9 3 жыл бұрын
Нукат - web так то же самое и про мидла сказал можно😂 про любое собеседование😂
@ultraduck100
@ultraduck100 3 жыл бұрын
@@-web2378 да, это логично и я с вами согласен, НО речь то шла о популярности такого видео) я думаю, каждый (или большенство) хоть раз да и пытался найти такой формат видео. так что автору довольно выгодно должно быть в плане просмотров. я уверен, что самые популярные видео на этом канале именно собесы. это можно легко проверить
@dychkos
@dychkos 3 жыл бұрын
Большое спасибо за информативное видео!
@Wazelinchik
@Wazelinchik 3 жыл бұрын
Теперь есть чем заняться в 2 часа ночи.
@user-ri9io9vp3i
@user-ri9io9vp3i Жыл бұрын
🔥🔥🔥🔥🔥🔥🔥
@wittyvillain
@wittyvillain 2 жыл бұрын
Хороший пример! А как сделать чтобы скролл автоматически опускался в конец списка?
@skeelo3157
@skeelo3157 2 жыл бұрын
В примере с массивом чисел так же бы сработал useMemo?
@user-fq4pc7fm2z
@user-fq4pc7fm2z Жыл бұрын
Приветствую! Спасибо за урок! только не понятно, может ли быть несколько useRef внутри одной компоненты для выполнения разных задач, или свойство current одно на компоненту?
@ArchakovBlog
@ArchakovBlog Жыл бұрын
Если разные задачи, то вполне может
@YevhenHromov
@YevhenHromov 8 ай бұрын
Спасибо огромное за урок! По мере прохождения появился вопрос) Если запустить таймер несколько раз подряд, создадутся разные ссылки (разные айди таймеров), и остановить уже просто по первой ссылке все таймеры не выйдет. Как обойти эту проблему? можно ли иметь доступ к каждой новой созданной ссылке поочерёдно или нужно как-то избегать пересоздания новых ссылок. Пока писал, понял, что ответ где-то в районе меморизации или useCallback'a)
@BeDb_MeDb
@BeDb_MeDb 3 жыл бұрын
Привет, прошу прощения. Вы сказали, на 11:50 примерно, что нельзя в глобальную область выносить. Я подключаю модуль с сокетами, подключить его в функции ясно что не могу. Потом я использую этот сокет в функции. Вопрос: что я делаю не так? (сейчас по Вашим видео пытаюсь понять, думаю, что моя ошибка как раз в неправильном понимании того, что эти хуки есть такое) Однако, если я сейчас в правильное место не вынесу подключение сокета и не налажу это все грамотно - задолбаюсь дебажить (по чесноку уже задолбался:-D) Большое спасибо за внимание.
@kseniazh1738
@kseniazh1738 3 жыл бұрын
Спасибо за отличные примеры!!! Вопрос: хранение данных в созданном объекте Ref напоминает создание глобальной переменной с хранением в useRef. Можно ли к созданному объекту Ref в одном файле обращаться из другого файла? Типа как брать/менять данные из Redux? Если да, то как это сделать и влияет ли подчиненность/очередность создания документов? Или Ref работает только здесь и сейчас? Т.е. без перезагрузки ушли из формы в другую, объект исчез. Вернулись - счетчик обнулился, создался новый объект, снова нажимай на кнопку?
@ArchakovBlog
@ArchakovBlog 3 жыл бұрын
Можно использовать useContext, если нужно прям глобально с ним работать или прокинуть в пропсы этот реф, чтобы передать его дальше. Реф работает только в конкретном компоненте, как useState, например.
@alexsedmoy2200
@alexsedmoy2200 Жыл бұрын
👍👍👍
@akhmedmagomedov324
@akhmedmagomedov324 Жыл бұрын
Пожалуйста обьясните как в current попала цифра 4, и почему она растет если запускать таймер?
@DzhavidR
@DzhavidR 3 жыл бұрын
а что у тебя за тема VSCODE? понравилось как отображаются стрелки в стрелочных функциях
@DzhavidR
@DzhavidR 3 жыл бұрын
если кому интересно, то это не тема была, а лигатуры, нашел Fira Code github.com/tonsky/FiraCode
@privatehost7117
@privatehost7117 3 жыл бұрын
Изыди, демон, с белой темой
@user-pd4gt9zz9c
@user-pd4gt9zz9c 3 жыл бұрын
@@privatehost7117 не бурчи,! всё збс! не переживай, скоро ты поймёшь почему именно так ;)
@user-mi4qz2ng4y
@user-mi4qz2ng4y 3 жыл бұрын
Спасибо, а как ты сделал плавный курсор в vs code?
@DzhavidR
@DzhavidR 3 жыл бұрын
Зайди в настройки vsCode - в поиске набираешь курсор - и выбираешь Editor cursor blinking: expand
@ggadoctb
@ggadoctb Жыл бұрын
Каждый, кто посмотрел данный плейлист, искал медь, а нашел золото)
@aliaksandrjanuary5305
@aliaksandrjanuary5305 3 жыл бұрын
В последнем примере также можно было не прибегать к ref сохраняя таймер в стейте используя useState. Мне кажется конкретно для такой задачи это более уместное решение.
@TheMaratnasyrov
@TheMaratnasyrov 3 жыл бұрын
тоже интересует. почему бы для этого не использовать useState, в чем плюсы и минусы такого решения?
@ArchakovBlog
@ArchakovBlog 3 жыл бұрын
Почему уместней юзать там setState? И почему useRef не подходит?
@darkside2436
@darkside2436 3 жыл бұрын
Когда 8 часть по клону твиттера?
@MarinYehor
@MarinYehor 3 жыл бұрын
Денис, подскажи, я не понял последнее с setInterval 1) почему timerRef.current хранил в себе число 4? 2) А так же почему нужно было добавлять в функции addNumber prev state? Разве при вызове addNumber не меняется state и уже при следующем вызове addNumber не должно ли логически браться новый state с добавленным числом? Ведь происходит ререндер и данная функция addNumber уже должна получать актуальное значение state Спасибо за выпуск, целую тебе руки)) Жду useCallback видео с нетерпением
@dimeliora
@dimeliora 3 жыл бұрын
1. useRef создаёт объект с полем current. Далее мы можем его использовать для сохранения любой информации и быть уверенными, что она не потеряется при перерендере. setInterval при вызове возвращает номер запущенного таймера, он нужен для того, чтобы потом этот таймер сбросить (clearInterval принимает номер таймера, который надо сбросить). Если его не сохранить, то сбросить таймер после не получится. В данном случае таймер вернул номер 4, его и сохранили, а потом использовали для сброса. 2. Документация гласит, что если новое состояние зависит от старого (всякие коллекции, счётчики и т.д.), то правильно будет в функцию обновления state отдавать колбек. Этот колбек примет аргументом актуальное значение state, и на его основе мы создаём новое.
@frontman6849
@frontman6849 3 жыл бұрын
ну почему? ну почему белая тема?
@adam-front
@adam-front 2 жыл бұрын
Ночью надо спать!
@amelianceskymusic
@amelianceskymusic Жыл бұрын
Согласен, жесть
@localhost666
@localhost666 Жыл бұрын
Наоборот отлично, не режет глаза при переходе от IDE в браузер
@snakevenom8039
@snakevenom8039 Жыл бұрын
иди наҩӱйӣ😅
@frontman6849
@frontman6849 Жыл бұрын
@@snakevenom8039 неа
@petrmurashko6884
@petrmurashko6884 Жыл бұрын
Где найти шрифт со значком => для VS code?
@apa6368
@apa6368 3 жыл бұрын
Салам алейкум, расскажи про useContex, самая запутанная, как по мне, тема
@westside9145
@westside9145 3 жыл бұрын
Где можно посмотреть характеристики твоего компьютеа, было бы здорово увидеть видео про твоё рабочее место и пространство
@eugenegavrilov2618
@eugenegavrilov2618 3 жыл бұрын
как это поможет с изучением react'a?
@westside9145
@westside9145 3 жыл бұрын
@@eugenegavrilov2618 брат, мир шире чем "изучение реакта"
@eugenegavrilov2618
@eugenegavrilov2618 3 жыл бұрын
@@westside9145 согласен, но ты задал вопрос в коменете, под уроком на рекате)
@michaeldevichenskiy4588
@michaeldevichenskiy4588 3 жыл бұрын
Где у вас учиться , ну или как ?
@romanpetrashkevich5292
@romanpetrashkevich5292 3 жыл бұрын
Нужно немного поправить метод start, для защиты от множественного нажатия на кнопку старт. const start = () => { if (timerRef.current) { clearInterval(timerRef.current); } timerRef.current = setInterval(addNumber, 1000); };
@miloman1995s
@miloman1995s 3 жыл бұрын
учил полгода реакт, взяли на vue..... подскажите че посмотреть типо этого канала но по vue.... спс
@kawaikaino5277
@kawaikaino5277 3 жыл бұрын
Ахаха)) забавно
@jorgenUA
@jorgenUA 3 жыл бұрын
доку читай, она хорошая - быстрее будет
@alienspro
@alienspro 3 жыл бұрын
Смени работу на реакт, ониперспективнее в разы. А для хорошего дохода только Angular. Очень юольшие корпоротивные приложения только га Angular последнее время делают. Nest.js еще сильнее популяризирует это.
@miloman1995s
@miloman1995s 2 жыл бұрын
@@kawaikaino5277 забавно то, что выучил vue , писал на нем с кайфом 8 месяцев, щас опять нужен реакт, снова вспоминаю и переучиваю react) вот это забавно
@snobou12
@snobou12 3 жыл бұрын
Почему у меня не выполняется функция handleScroll при прокрутке,но с обычным кликом все работает. Все сделано как на видео?
@user-pi8qz6ni4q
@user-pi8qz6ni4q 2 жыл бұрын
Привет, прошло 8 месяцев, ты решил проблему?
@snobou12
@snobou12 2 жыл бұрын
@@user-pi8qz6ni4q честно уже не помню, гуглил и понял почему, но на данный момент с этим не было проблем больше
@user-pi8qz6ni4q
@user-pi8qz6ni4q 2 жыл бұрын
@@snobou12 понял, спасибо за своевременный ответ!
@Mike-hp3fh
@Mike-hp3fh 3 жыл бұрын
В svelte все, что есть в React сделано в 100 раз проще. Но приходится учить React, т.к. он есть везде, а о svelte еще мало кто знает.
@MadBlissOff
@MadBlissOff 3 жыл бұрын
Что за клавиатура? Такой звук клавиш приятный, прям не могу
@bukanaka
@bukanaka 3 жыл бұрын
Может механика с голубыми свичами
@MadBlissOff
@MadBlissOff 3 жыл бұрын
@@bukanaka у голубых свитчей щелчок есть, а тут его нет
@samolevich
@samolevich 7 ай бұрын
Так много магии
@Mike-hp3fh
@Mike-hp3fh 3 жыл бұрын
Очевидно, что если в компоненте использовать несколько React.useRef и вызывать их в случайном порядке, или просто не в строго определенном порядке, то все полетит к чертям. Новички конечно об этом и не подозревают.
@theBarracuda_
@theBarracuda_ 2 жыл бұрын
Из-за чего?
@Mike-hp3fh
@Mike-hp3fh 2 жыл бұрын
@@theBarracuda_ из-за того что при таком подходе (я имею ввиду возможности JavaScript которые использует React) это единственный способ связать данные с кодом. На каждом вызове useRef увеличивать внутренний счетчик на 1 и брать следующий из объект из внутреннего массива.
@reactnext13
@reactnext13 2 жыл бұрын
самое расширенное объяснение useRef
@alexeystaroverov4804
@alexeystaroverov4804 3 жыл бұрын
Scroll всегда неудачный пример там куча нюансов не связных с целевой функцией
@user-cu2ng7gf4k
@user-cu2ng7gf4k Жыл бұрын
очень запутанный пример
@Mike-hp3fh
@Mike-hp3fh 3 жыл бұрын
Госспади какой же ужас этот React
@someguy4973
@someguy4973 2 жыл бұрын
"Но это не есть хорошо, мы должны использовать нормальное решение". Далее автор использует "нормальное решение", не объяснив а почему все же "это не есть хорошо", потому что видимо сам не разобрался в этом вопросе.
@harrisonwinston2850
@harrisonwinston2850 2 жыл бұрын
а что тут разбираться? React рекомендует работать со своими инструментами, не используя DOM-манипуляции напрямую, чтобы не конфликтов с ним.
@user-vj3hk5es7b
@user-vj3hk5es7b Жыл бұрын
ничего не понятно вообще
@Front_Hunter
@Front_Hunter 2 ай бұрын
видео явно для полных нулей ато обясняют так будто мы обезяны безмозглые
#4: React Hooks - useMemo + React.memo
25:38
Archakov Blog
Рет қаралды 69 М.
She ruined my dominos! 😭 Cool train tool helps me #gadget
00:40
Go Gizmo!
Рет қаралды 53 МЛН
1 класс vs 11 класс  (игрушка)
00:30
БЕРТ
Рет қаралды 3,9 МЛН
В ДЕТСТВЕ СТРОИШЬ ДОМ ПОД СТОЛОМ
00:17
SIDELNIKOVVV
Рет қаралды 4,1 МЛН
Final muy inesperado 🥹
00:48
Juan De Dios Pantoja
Рет қаралды 16 МЛН
#5: React Hooks - useCallback
23:54
Archakov Blog
Рет қаралды 49 М.
Learn React Hooks: useRef - Simply Explained!
12:42
Cosden Solutions
Рет қаралды 79 М.
Зачем на самом деле нужен хук useCallback
8:33
Михаил Непомнящий
Рет қаралды 38 М.
Задача из Собеседования на 160,000 Евро в Год
13:27
Саша Лукин
Рет қаралды 1,1 МЛН
50 вопросов на React JS собеседование
52:45
Владилен Минин
Рет қаралды 330 М.
React получаем значение из input (event, ref, hook). События в React.
33:09
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 40 М.
She ruined my dominos! 😭 Cool train tool helps me #gadget
00:40
Go Gizmo!
Рет қаралды 53 МЛН