#1: React Hooks - useState

Поделиться
HTML-код
  • Опубликовано: 21 сен 2024
  • 📢 Платный курс по ReactJS с наставником: mentor.archako...
    ❤️ Поддержка:
    - Patreon: / archakovblog
    - Донаты: www.donational...
    📢 О чём я буду рассказывать?
    Я решил сделать новый курс по React-хукам и рассказать подробно о том, как работает каждый хук. В данном видео, я рассказываю о хуке useState. Как он работает, зачем нужен и когда можно обойтись без него?
    Это первое видео по хукам ReactJS. В следующих видео я расскажу про другие хуки.
    ❓ Кому подойдёт этот курс?
    Для начинающих, которые только начали изучать ReactJS и для тех, кто изучает более 3-х месяцев.
    На каждый хук, есть отдельная ветка в репозитории ниже. Просто кликаете по "Branch" и выбираете нужный хук.
    Ссылка на GitHub: github.com/Arc...
    🔗 Следите за обновлениями и информацией в:
    - Telegram-канале: t.me/archakov_im
    - VK: archako...
    - Личном блоге: archakov.im
    - GitHub: github.com/Arc...
    - Моё резюме: career.habr.co...

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

  • @Snegurjan
    @Snegurjan 3 года назад +93

    Если мне бы так обьясняли в школе,я стал бы програмисстом в 12 лет.Спасибо бро!

    • @forssety9
      @forssety9 Год назад +3

      Видел тебя в коментах "путь самурая", рад за тебя, выбрать ноут вместо кровати, чтобы учиться после работы это достойно уважения, рад что ты уже работаешь программистом, удачи стать Сеньором)

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

      @@forssety9 благодарю. Удачи в твоём пути, пусть все получится 🤟🙏

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

      @@Snegurjan спасибо!

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

      @@forssety9 что значит ноут вместо кровати

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

      @@Mike37373 у него была возможность купить либо ноутбук, либо кровать, Он выбрал первое

  • @anzhelikacherniavska2605
    @anzhelikacherniavska2605 3 года назад +20

    Очень классное объяснение useState!!! Благодарю! Ваши уроки офигенные для новичка в React!

  • @gayanegalstyan9132
    @gayanegalstyan9132 3 года назад +10

    Я еще раз посмотрела видео и еще раз захотелось написать Спасибо Вам огромное! Пожалуйста, снимайте побольше видео. Вы нам реально очень помогаете!

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

    Phenomenal !!! One of the best course on react, absolutely loved it . It cover all the concepts from very basic to advance. Арчаков Дэннис is the best React Js teacher.

  • @VolodymyrSirenko
    @VolodymyrSirenko Год назад +3

    Очень толковое объяснение useState для начинающего! Спасибо!

  • @MrBolodina
    @MrBolodina 4 года назад +27

    Привет! Все правильно рассказал, но один нюанс, массив может быть константой в твоем случае, т.к. ты можешь выполнять разные функции над ним (push например) и он будет меняться, а вот переопределить массив ты не сможешь!

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

    Присоединяюсь ко всем спасибо в комментариях. Отдельное спасибо за светлую тему )) С телефона намного лучше воспринимается информация.

  • @ЕгорНей-л3ф
    @ЕгорНей-л3ф 4 года назад +5

    Не поверишь, как раз сегодня дошел до хуков в документации. Приятное совпадение))

    • @jorgenUA
      @jorgenUA 4 года назад

      для сравнения ruclips.net/video/yVKXZz2yagI/видео.html

  • @MrSensys
    @MrSensys 2 года назад +2

    Как же отлично все разжевано и объяснено. Спасибо!

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

    Супер! Самое толковое объяснение хуков в рускоязычном сегменте!!! Спасибо!

  • @atakhanzhumadil8784
    @atakhanzhumadil8784 3 года назад

    где ты был год назад брооооооооу, это лучший туториал в инете

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

    пересмотрел роликов 10 на эту тему и этот оказался самым понятным, благодарю

  • @edword0376
    @edword0376 3 года назад

    Если бы не ты, так и бы не понял как работает этот хук, много где прочитал и посмотрел об этом, не понимал. Спасибо!)

  • @theoty-js
    @theoty-js 2 года назад +1

    как же ты круто объясняешь!

  • @skynov
    @skynov 4 года назад +5

    Круто! Жду курс по реактивной пицце

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

    Просто топ контент. Благодаря тебе разобрался и понял. Спасибо что для самых маленьких рассказал.

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

    Красава, очень понятно и подробно объясняешь, а новичкам это так необходимо!

  • @АлександрСмирнов-щ4с
    @АлександрСмирнов-щ4с 7 месяцев назад

    спасибо большое за доступное объяснение, заполнил свои пробелы.

  • @pettonjef3061
    @pettonjef3061 4 года назад +4

    Лучший урок по хукам что я видел. Спасибо большое. Продолжай в том же духе )

    • @maximzalutskii1012
      @maximzalutskii1012 4 года назад +1

      it-kamasutra посмотри, всё поймешь

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

    прекрасное объяснение. Любому новичку всё станет понятно

  • @Jdjdjjjxhzh
    @Jdjdjjjxhzh 3 года назад +1

    Отличный гайд, все понял.

  • @ЛиЛи-н8м
    @ЛиЛи-н8м 3 года назад

    я в шоке. самая доступная подача материла в мире!!!

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

    вот круто! правильно что обьясняешь с запасом!! так и нужно, а то как откроешь видео по 2 минуты... лучше обьяснить лишнего чем что то упустить! спасибо! комент в поддержку канала

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

    Блин ты мой новый любимчик, красавчик, спасибо

  • @vitalygaraev8093
    @vitalygaraev8093 10 месяцев назад

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

  • @АлексейКравец-е7й
    @АлексейКравец-е7й 4 года назад +1

    спасибо за видео, мне понравилось как ты объясняешь

  • @mykhailokurta8856
    @mykhailokurta8856 4 года назад +3

    Супер, использую уже)

  • @3bogdan333
    @3bogdan333 Год назад

    Спасибо, помог разобраться как это работает

  • @yevheniisahanenko5848
    @yevheniisahanenko5848 4 года назад +2

    Отличное видео, спасибо, что так сильно углубился в нюансы

    • @enjoymtx
      @enjoymtx 3 года назад

      какое углубление в нюансы, если это урок для начинающих и только про самые основы)

  • @inzoddex8312
    @inzoddex8312 3 года назад +1

    Лучший урок, спасибо большое!

  • @ВикторияРезяпкина-ж7б

    Обьяснение - понятное очень, спасибо

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

    Благодарю!

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

    14:50 key сравнивается не глобально, мы можем использовать одинаковые key в разных частях!

  • @АлександрПлуталов-ъ4ш

    не удержался ))) ты поставил рекорд , то что можно обьяснить за пять минут ты растянул на полчаса это тоже талант))

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

    Spasibo za urok

  • @МаксимМ-й7с
    @МаксимМ-й7с 4 года назад +4

    Сразу лайк! Красавчик)

  • @vasilkou73
    @vasilkou73 4 года назад +1

    Спасибо огромное, очень доходчиво пояснил!

  • @Shnolll
    @Shnolll 4 года назад

    отдельное спасибо за рекламу в самом конце

  • @s9219871110
    @s9219871110 3 года назад

    Спасибо тебе большое за годнейший контент!

  • @flotskey9751
    @flotskey9751 4 года назад +2

    Видос пушка, продолжай в том же духе!

  • @samirvaliyev
    @samirvaliyev 3 года назад

    В очень классный учитель. Спасибо вам

  • @AlexMazur-x4i
    @AlexMazur-x4i Год назад

    very cool explanation!

  • @КириллГаланов-л6ь
    @КириллГаланов-л6ь 2 года назад

    Бро, ты красавчик! Спасибо)

  • @vladvoloshenko5701
    @vladvoloshenko5701 3 года назад +1

    Очень грамотно и понятно, спасибо)

  • @ВладимирГугин-ш7щ
    @ВладимирГугин-ш7щ 3 года назад

    Хорошо получается объяснять !

  • @ИбрагимТаиров-ш6в
    @ИбрагимТаиров-ш6в 3 года назад

    очень качественная подача материала

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

    Спасибо, отличное объяснение ! С меня лайк и подписка!

  • @one_channel379
    @one_channel379 4 года назад +1

    setArray((prevState) => ([
    ...prevState,
    newElement
    ]) очень полезный кейс в некоторых моментах) видео крутое ) лайк

    • @dennisfisher2684
      @dennisfisher2684 3 года назад

      А что такое превСтейт? По аналогии с видео - это начальный массив намберс?

    • @ArchakovBlog
      @ArchakovBlog  3 года назад

      Это токующее состояние

  • @igorkit1946
    @igorkit1946 3 года назад

    best of the best.. ПРЯМ ВЗАЛ И РОЗЛОЖИЛ ВСЕ ПО ПОЛКАХ..

  • @Maksim-o3e6n
    @Maksim-o3e6n 2 года назад

    Очень грамотно и понятно, спасибо!!!

  • @bigboy3085
    @bigboy3085 3 года назад +8

    Умоляю!!!! Сделай уроки по Redux, а то в русском сегменте все объясняют через жопу, только ты поясняешь все моменты и нормально рассказываешь)

  • @ОлегОвчинников-щ9с

    🔥🔥🔥🔥🔥🔥🔥

  • @galievramil1169
    @galievramil1169 3 года назад

    Подача отличная, Бро, если бы ВУЗах нормально платили, хотел бы видеть там тебя!

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

    ТОП !

  • @RomanCzujko
    @RomanCzujko 3 года назад

    Доступно, спасибо!

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

    понятно , спасибо большое

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

    отлично, продолжай!

  • @gayanegalstyan9132
    @gayanegalstyan9132 3 года назад

    Огромное Вам спасибо!!!

  • @vladimirww5152
    @vladimirww5152 3 года назад

    Детально объянил!

  • @tashakarluka7026
    @tashakarluka7026 3 года назад

    молодец! давай еще React

  • @pse1525
    @pse1525 3 года назад

    Просто супер!

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

    спасибо

  • @argeninho
    @argeninho 10 месяцев назад

    Разжевал и плюнул в рот :D
    Большущий рахмат

  • @blackwarrior6015
    @blackwarrior6015 3 года назад

    Однозначно лайк

  • @Евгений-у2е8ы
    @Евгений-у2е8ы 4 года назад

    Круто, спасибо большое!) Ждем следующие уроки)

  • @Shved_2.0
    @Shved_2.0 3 года назад

    за объяснение 5 баллов

  • @sergeykudryashov9097
    @sergeykudryashov9097 3 года назад

    Спасибо!

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

    Спасибо вам! Насколько знаю, jsx атрибуты в отличии от html пишутся в camel Case :))

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

    Спасибо вам! Насколько знаю, jsx атрибуты пишутся в camel Case :))

  • @ALEKSEY_77737
    @ALEKSEY_77737 3 года назад

    джи!

  • @suspiciouscandy1678
    @suspiciouscandy1678 3 года назад

    Моя довольна :)

  • @skeelo3157
    @skeelo3157 3 года назад

    жду useContext

  • @OnlyLuck1000
    @OnlyLuck1000 3 года назад

    Почему нельзя поставить 100500 лайков?)

  • @zhen1asemen1uk
    @zhen1asemen1uk 3 года назад

    Блин, а ти харош

  • @clearsky906
    @clearsky906 4 года назад

    Сходу лайк, потом смотреть
    Спасибо за уроки)

  • @vladosononame6376
    @vladosononame6376 3 года назад

    на примере чисел то понятно, а на примере как добавить сообщение у которого массив messages которое идет из пропсов что состоит из обьектов {id:'23', title:'hello world',text:'SOME MESSAGE'} не совсем понятно при этом нужно увеличивать id на еденицу в зависимости от последнего сообщения, эти примеры с обычными числами не совсем юзабельные в реальной жизни, тем более если в реальной жизни ты взаимодействуешь с базой данных, а этот пример с номерами я это прочитал на более 10 сайтах что обьясняют useState, поэтому пошел на ютуб что б увидить более разнообразный пример, вообщем не совсем то что я хотел увидить, большенство коментаторов даже в реальности не пробуют делать то что на видосах, а просто в тупую пишут спасибо спасибо и думают єто им поможет в будущем но нет)

  • @supersaeros
    @supersaeros 4 года назад

    Спасибо очень доходчиво. А про остальные хеки ещё нет видео?

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

    А нельзя setNumbers(numbers.push(random))?

  • @НиколайГрубляк-х9п
    @НиколайГрубляк-х9п 4 года назад

    Я вообще не знаю реакт, но я абсолютно всё понял. ТЫ ГЕНИЙ!

  • @yaroslavoz
    @yaroslavoz 4 года назад

    Расскажи, пожалуйста, как использовать функцию вместо присваивания массива или объекта переменной стейта. И когда будут следующие хуки?)

  • @munutd9857
    @munutd9857 3 года назад

    👍👍👍👍👍👍👍👍👍👍

  • @ВладиславВикул-г1я
    @ВладиславВикул-г1я 4 года назад

    Спасибо за урок.

  • @АлександрГригоренко-г8к

    Привет. Спасибо за урок! А что за светлая тема у тебя в редакторе на видео?

  • @romafrolov6811
    @romafrolov6811 10 месяцев назад

    Ааааа белая тема

  • @AlexMazur-x4i
    @AlexMazur-x4i Год назад

    posto zoloto a nie kurs!

  • @ВладСкурський
    @ВладСкурський 2 года назад

    Подскажи, пожалуйста, как удалить елемент с массива useState?

  • @АлександрАлехин-е2х

    более четкого объяснения не встречал

  • @ivansafronov3359
    @ivansafronov3359 4 года назад

    Круто объясняешь! Немного больше деталей по терминологии, к примеру, не совсем в начале было понятно, что за componentDidMont и тд... А так молоток, все круто!

    • @ArchakovBlog
      @ArchakovBlog  4 года назад

      спасибо за комментарий! в следующем курсе

  • @aleksandr1277
    @aleksandr1277 3 года назад

    а если forceUpdate использовать для перерисовки компонента?

  • @Asgyr
    @Asgyr 3 года назад

    почему нельзя let это же массив и ты меняешь значения а не сам массив поэтому можно и const или я неправ ?

  • @vadimgaidai8186
    @vadimgaidai8186 4 года назад

    А push в случае с setNumbers не подходит из-за иммутабельности?)

    • @ArchakovBlog
      @ArchakovBlog  4 года назад +1

      он работает и есть сделать numbers.push(random) , а потом вызывать setNumbers(numbers), работать будет, но делать так не желательно

  • @vitaliidrapaliuk5652
    @vitaliidrapaliuk5652 4 года назад

    Планируються видео по другим хукам?

  • @bzlkch
    @bzlkch 4 года назад

    Лайк не глядя

  • @nikolaykokhno2346
    @nikolaykokhno2346 4 года назад

    Годно!

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

    Даже тупой поймет после такого объяснения)

  • @user-zq4nz6yd2p
    @user-zq4nz6yd2p 7 месяцев назад

    19:32

  • @biLLie_wiLLie
    @biLLie_wiLLie 4 года назад +3

    А что не так с курсом про пиццу?

    • @ArchakovBlog
      @ArchakovBlog  4 года назад +1

      Всё ок, просто то лень, то времени не хватает на запись оставшейся части. Пока записал где-то 60% курса

    • @biLLie_wiLLie
      @biLLie_wiLLie 4 года назад +1

      @@ArchakovBlog подскажи плиз, во всех курсах про реакт используют компоненты классы. С помощью этих хуков про компоненты классы можно забыть? Инфа в курсах не актуальна?

    • @yuraivaniv1816
      @yuraivaniv1816 4 года назад +1

      нужно знать оба подхода

    • @fedorrychkov9962
      @fedorrychkov9962 4 года назад +1

      @@biLLie_wiLLie функциональные компоненты легко поддерживаемы и проще тестируются. В своих проектах еще не видел кейса, где была бы необходимость возвращаться к классам в компонентах.

    • @Cindorqw
      @Cindorqw 4 года назад

      @@ArchakovBlog фреймворк COD Modern Warframe слишком интересным оказался, я прав?)

  • @jorgenUA
    @jorgenUA 4 года назад +1

    про причину использования map вместо forEach ты наплёл так, что... не хочу обидеть, но: ты правда делал коммерческие проекты?)Про иммутабельность ни слова, а нужно бы сравнить для понимания массив numbers с newArr БЕЗ randNumber - человек бы увидел причину применения оператора spread... ну, может, ночью видео делал...) тема для VSC ничего так

    • @yaroslavoz
      @yaroslavoz 4 года назад

      Чем тебе map не угодил?)

  • @srt2046
    @srt2046 4 года назад +1

    Мне кажется или реакт наоборот усложняет работу? То что с html и jQuery делается за 5 минут, с реакт занимает 20

    • @fedorrychkov9962
      @fedorrychkov9962 4 года назад +1

      Если проект больше тудушника по функционалу, то можно умереть в пОгромировании с jQuery.

    • @ArchakovBlog
      @ArchakovBlog  4 года назад +1

      тебе кажется. Федор верно все верно говорит

    • @srt2046
      @srt2046 4 года назад

      @@ArchakovBlog понял, видимо это из-за отсутствия опыта)

  • @raymond1489
    @raymond1489 4 года назад

    Не знаю React, но решение по-моему мнение понятно даже и для новичков: сделано логично и лаконично, а после обновления страницы сохранятся значения?

    • @fedorrychkov9962
      @fedorrychkov9962 4 года назад

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

    • @ArchakovBlog
      @ArchakovBlog  4 года назад +2

      не-а, это надо отдельно писать такую логику. Ничего сложно в принципе нет. Или серверную писать или как сказал Федор, юзать localStorage