Для чего нужен useContext в React, простым языком

Поделиться
HTML-код
  • Опубликовано: 29 сен 2024
  • Мой Telegram канал
    t.me/way_of_de...
    Все хуки в React простым языком: • Хуки React
    В данном видео я хочу рассказать о том что такое контекст, для чего нужен хук useContext простыми словами и показать на примере, для чего используется этот хук. Вы научитесь использовать context и узнаете когда стоит его использовать.
    Вы можете поддержать мой канал:
    www.donational...
    donate.qiwi.co...

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

  • @ЮрийДонников
    @ЮрийДонников 2 года назад +30

    Из всего ютуба самое понятное объяснение, спасибо большое

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

      объяснил просто за счёт того что...
      1) На функциях а не на классах что правильно и проще для начинающих.
      2) Передача в контексте не каких-то тяжёлых в понимании для новичка объектов, логикии либо дескруктуризации - а простой строки.
      3) Наглядное представление в одном файле, потому как при объяснении для новичков очень тяжело держать имена и содержания абстракций( по типу объектов) и при этом открывать, создавать, называть другие файлы. А тут все в одном файле с говорящими за себя названиями.
      p.S. Я писал туда без контекста, но дока и остальные видосы это представляют так запутано, хотя по сути это глобальный пропс-компонент, в который нужно обернуть компонент которому нужен будет этот пропс на любом из уровней.
      Спасибо за лаконичное объяснение

  • @morelifetv1041
    @morelifetv1041 2 года назад +5

    Блинн хоть кто-то нормально объяснил, спасибо. Лайк и подписка

  • @ДмитрийВохмин-р1ы
    @ДмитрийВохмин-р1ы 5 месяцев назад +2

    Самое лучшее объяснение и не затянуто. Респект и уважуха!

  • @mainName777
    @mainName777 20 дней назад

    Удивительно насколько просто обьяснил, куча видосов с такой мутью.. ужас, так сложно обьясняют а тут чел за 6 минут бац всё по полочкам разложил

  • @evgenym.2137
    @evgenym.2137 Год назад +3

    Отличное объяснение. Ещё бы шрифт в VS Code сделать покрупнее для восприятия)

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

      согласен, а то как бастрыкин через лупу смотреть надо

  • @miwanjaGR
    @miwanjaGR Месяц назад

    Из всего ютуба самое понятное объяснение, респект

  • @АлексейПащенко-у3с
    @АлексейПащенко-у3с 11 месяцев назад +1

    Бро, твоя подача в разы лучше чем у WebDev, так держать!!!

    • @OTKA3
      @OTKA3 11 месяцев назад

      не сказал бы

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

    Всё хорошо, но в мире ещё очень много людей кто может себе позволить только HD экран или смотрит в отдельном окне и ничего не видно. Пожалуйста побольше шрифт.

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

    Крутой контент, твои уроки по хукам самые лаконичные из всех, что я нахожу на ютубе. Вначале смотрю популярных ютуберов, потом на тебя попадаюсь и у тебя более понятно получается, жаль что мало просмотров.

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

    На фоне играет такая спокойная музыка, что я чуть не уснул)
    Просто я вчера уснул в 00:30 и проснулся в 6:30

  • @CheapProject
    @CheapProject Месяц назад

    Просто и чётко как всегда!

  • @АннаЛопина-ч6н
    @АннаЛопина-ч6н Месяц назад

    Спасибо, дошло)

  • @ОлегТиновець
    @ОлегТиновець Год назад

    Необходимо увеличить шрифт

  • @pulyvil3909
    @pulyvil3909 2 месяца назад

    Супер, всё понятно

  • @НікітаКорчемний-г4ч
    @НікітаКорчемний-г4ч 7 месяцев назад

    походу нашёл золотой канал

  • @legoghetto2689
    @legoghetto2689 4 месяца назад

    Сходи к логопеду.

  • @nixnemo
    @nixnemo 10 месяцев назад +1

    Просто, понятно, лаконично. Автору огромное спасибо!

  • @dmitry9463
    @dmitry9463 6 месяцев назад

    Когда лучше использовать useContext, а когда useReducer?

    • @dmitrii_gerasimov
      @dmitrii_gerasimov  6 месяцев назад

      Зависит от ваших предпочтений. Это просто разные подходы к одному и тому же. Но часто контекст используют для каких-то библиотек, как например react-redux.

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

    Можете объяснить для чего useContextиспользуется на практике, в реальной работе? Не вижу смысла его использования при наличии стейт менеджера, например редакс, если же стейт менеджер отсутствует, то юзконтекст получается его аналогом

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

      1. Например, чтобы сократить число библиотек.
      2. У Вас большая вложенность и при отправке данных с помощью props может возникнуть ситуация, что куча свойств попадает в компоненты, но в них никак не используется. По сути, получаем, чтобы только отдать дальше.
      3. Ну и никто не отменял личные предпочтения.

  • @warwar-3
    @warwar-3 2 года назад +1

    Очень лаконично и просто объяснил! Спасибо! Лайк, подписка)

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

    Круто, очень понятно объяснил, как и обещал! Спасибо))

  • @ЕленаПономаренко-ш7ы
    @ЕленаПономаренко-ш7ы 9 месяцев назад

    спасибо!

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

    Спасибо 🙏

  • @maxshine-qf7qg
    @maxshine-qf7qg Год назад

    Как же ты хорош

  • @ЕвгенийКузнецов-щ1ю

    данные в провайдер можно запихать только на верхнем уровне? добавить еще на уровне ниже никак?

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

      Да, конечно на любом, просто используйте "setContext":
      const [context, setContext] = useContext(Context);

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

    Если нужно передать данные из одного компонента в другой - контекст подходит?

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

    Супер, пасиба

  • @Zreus-ry9el
    @Zreus-ry9el 11 месяцев назад

    Это альтернатива redux или не совсем? В каких случаях использовать redux, а в каких context? Предполагаю, что выбор зависит от масштаба проекта, но в чем преимущества конкретной технологии?

    • @АртёмКотов-ш7ц
      @АртёмКотов-ш7ц 11 месяцев назад +1

      Про масштаб вы написали верно.
      Отмечу еще несколько пунктов из личного опыта.
      1. Соглашение на проекте. Стор если значение используется во многих иерархически независимых местах. Контекст для местных значений которые не используются после размонтирования конкретной страницы/компонента (не нужно специально чистить редьсер и приводить к первоначальному значению)
      2. Стор плохо подходит для часто изменяющихся значений (отрисовка графиков реалтайме с частотой в 20мс, таймлайн для видео)
      Тут лучше контекст с useRef
      3. Если вы хотите запихнуть в контекст значение и функцию его изменяющую, что часто делают, то это будет плохой идеей. Потому что, без доп. ухищрений, при изменении значения будут обновляться компоненты с функцией а не только значением
      4. В большом проекте у вас очень много зависимостей кода и это приводит к проблемам. Вы думаете что контекст авторизации всегда будет верхним, но это может изменится и через пол года он будет взаимно связан с контекстом оплаты
      Есть еще много нюансов, но сходу не вспомнить

    • @Zreus-ry9el
      @Zreus-ry9el 11 месяцев назад

      @@АртёмКотов-ш7ц спасибо!)

  • @Denis-di6hc
    @Denis-di6hc Год назад

    талант

  • @unknown.6914
    @unknown.6914 9 месяцев назад

    Посмотрел 5 видео по хуку useContext, бесспорно это видео вне конкуренции (мое личное мнение). Огромное спасибо автору!

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

    Спасибо. Очень простое и годное объяснение. Только я спешун еще тот. Не досмотрев ролик до конца, уже пошёл искать, зачем нужно было передавать бесполезную строку, при вызове функции createContext.

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

    Спасибо большое за контент!
    Я правильно понял, что без провайдера, стейт становится глобальным?
    Какой в этом минус?

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

      Без провайдера вообще не будет работать. Он же передаёт данные в компоненты.

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

      @@dmitrii_gerasimov В данном моменте, на 5:06, при закомментированном провайдере, выводится значение, заданное в скобках createContext

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

      Так в этом случае выводится не содержимое контекста, а заглушка.

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

    Комментарий приемлемой длины в благодарность за видео

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

    лучшее объяснение на всём ютубе. Лайк + Подписка

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

    наконец я поняла, на кой черт мы в CreateContext что-то передаем, спасибо!))

  • @СергейЧе-б1к
    @СергейЧе-б1к 8 месяцев назад

    Первое адекватное обьяснение. Я видосов 5 посмотрел, и только сейчас уже стало все понятно, спасибо

  • @cen1aur
    @cen1aur 5 месяцев назад

    Отличное видео, подписка и лайк!

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

    спасибо за урок только шрифт маленький, на нетбуке плохо видно

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

    Спасибо большое, сразу стало понятно

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

    очень доходчиво объяснил спасибо!!!

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

    Кратко и полезно.Спасибо :)

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

    Класс, доходчиво объяснил!

  • @kseniiaazovtseva6139
    @kseniiaazovtseva6139 9 месяцев назад

    Наконец-то простое и понятное объяснение, спасибо большое)

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

    спасибо за разборы! Очень понятно, быстро понимаешь что к чему

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

    Спапсибо за самое понятное объяснение!

  • @RewCSharp
    @RewCSharp 8 месяцев назад

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

  • @tazorprod.934
    @tazorprod.934 Год назад

    Коротко и ясно. Однозначно лайк

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

    очень ясно изъяснили спасибо

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

    Спасибо, хорошее объяснение

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

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

  • @Дмитрий-л4с9х
    @Дмитрий-л4с9х Год назад

    Спасибо! Достаточно доступно и понятно.

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

    Замечательное видео, одно из самых понятных из поиска на ютубе. Спасибо за ваш труд! Только делайте шрифт покрупнее, пожалуйста)

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

      В новых видео делаю шрифт крупнее.

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

    Коротко и понятно , спасибо)

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

    Отличная подача! Когда уже освоился с передачей и фокусами над пропсами, со временем надоедает их каждый раз прокидывать через 10500+ компонентов. Решил замахнуться на редакс, но что-то особо не пошло, многовато кода ради кода там. Вспомнил про useContext, по практикуюсь на нем пока, ну и ознакомлюсь с твоим плейлистом по mobx)

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

      Попробуйте redux в связке с redux-tookit, это исправление проблемы связанной с избыточным написанием кода, которая уже стала стандартом.

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

      @@dmitrii_gerasimov пробовал, чуть проще, но все равно кажется на мудрено. Но вернутся стоит, чтобы еще раз разобрать

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

    вверх контекст нельзя передавать? только спускать вниз сквозь children?

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

      Нельзя, но ничто не мешает использовать его в самом верхнем компоненте. Обычно так и делают.

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

    топовое объяснение, даже у Минина не так понятно что к чему - спасибо!