Для чего нужен useContext в React, простым языком
HTML-код
- Опубликовано: 29 сен 2024
- Мой Telegram канал
t.me/way_of_de...
Все хуки в React простым языком: • Хуки React
В данном видео я хочу рассказать о том что такое контекст, для чего нужен хук useContext простыми словами и показать на примере, для чего используется этот хук. Вы научитесь использовать context и узнаете когда стоит его использовать.
Вы можете поддержать мой канал:
www.donational...
donate.qiwi.co...
Из всего ютуба самое понятное объяснение, спасибо большое
объяснил просто за счёт того что...
1) На функциях а не на классах что правильно и проще для начинающих.
2) Передача в контексте не каких-то тяжёлых в понимании для новичка объектов, логикии либо дескруктуризации - а простой строки.
3) Наглядное представление в одном файле, потому как при объяснении для новичков очень тяжело держать имена и содержания абстракций( по типу объектов) и при этом открывать, создавать, называть другие файлы. А тут все в одном файле с говорящими за себя названиями.
p.S. Я писал туда без контекста, но дока и остальные видосы это представляют так запутано, хотя по сути это глобальный пропс-компонент, в который нужно обернуть компонент которому нужен будет этот пропс на любом из уровней.
Спасибо за лаконичное объяснение
Блинн хоть кто-то нормально объяснил, спасибо. Лайк и подписка
Согласен
Самое лучшее объяснение и не затянуто. Респект и уважуха!
Удивительно насколько просто обьяснил, куча видосов с такой мутью.. ужас, так сложно обьясняют а тут чел за 6 минут бац всё по полочкам разложил
Отличное объяснение. Ещё бы шрифт в VS Code сделать покрупнее для восприятия)
согласен, а то как бастрыкин через лупу смотреть надо
Из всего ютуба самое понятное объяснение, респект
Бро, твоя подача в разы лучше чем у WebDev, так держать!!!
не сказал бы
Всё хорошо, но в мире ещё очень много людей кто может себе позволить только HD экран или смотрит в отдельном окне и ничего не видно. Пожалуйста побольше шрифт.
Крутой контент, твои уроки по хукам самые лаконичные из всех, что я нахожу на ютубе. Вначале смотрю популярных ютуберов, потом на тебя попадаюсь и у тебя более понятно получается, жаль что мало просмотров.
На фоне играет такая спокойная музыка, что я чуть не уснул)
Просто я вчера уснул в 00:30 и проснулся в 6:30
Просто и чётко как всегда!
Спасибо, дошло)
Необходимо увеличить шрифт
Супер, всё понятно
походу нашёл золотой канал
Сходи к логопеду.
Просто, понятно, лаконично. Автору огромное спасибо!
Когда лучше использовать useContext, а когда useReducer?
Зависит от ваших предпочтений. Это просто разные подходы к одному и тому же. Но часто контекст используют для каких-то библиотек, как например react-redux.
Можете объяснить для чего useContextиспользуется на практике, в реальной работе? Не вижу смысла его использования при наличии стейт менеджера, например редакс, если же стейт менеджер отсутствует, то юзконтекст получается его аналогом
1. Например, чтобы сократить число библиотек.
2. У Вас большая вложенность и при отправке данных с помощью props может возникнуть ситуация, что куча свойств попадает в компоненты, но в них никак не используется. По сути, получаем, чтобы только отдать дальше.
3. Ну и никто не отменял личные предпочтения.
Очень лаконично и просто объяснил! Спасибо! Лайк, подписка)
Круто, очень понятно объяснил, как и обещал! Спасибо))
спасибо!
Спасибо 🙏
Как же ты хорош
данные в провайдер можно запихать только на верхнем уровне? добавить еще на уровне ниже никак?
Да, конечно на любом, просто используйте "setContext":
const [context, setContext] = useContext(Context);
Если нужно передать данные из одного компонента в другой - контекст подходит?
Да, вполне.
Супер, пасиба
Это альтернатива redux или не совсем? В каких случаях использовать redux, а в каких context? Предполагаю, что выбор зависит от масштаба проекта, но в чем преимущества конкретной технологии?
Про масштаб вы написали верно.
Отмечу еще несколько пунктов из личного опыта.
1. Соглашение на проекте. Стор если значение используется во многих иерархически независимых местах. Контекст для местных значений которые не используются после размонтирования конкретной страницы/компонента (не нужно специально чистить редьсер и приводить к первоначальному значению)
2. Стор плохо подходит для часто изменяющихся значений (отрисовка графиков реалтайме с частотой в 20мс, таймлайн для видео)
Тут лучше контекст с useRef
3. Если вы хотите запихнуть в контекст значение и функцию его изменяющую, что часто делают, то это будет плохой идеей. Потому что, без доп. ухищрений, при изменении значения будут обновляться компоненты с функцией а не только значением
4. В большом проекте у вас очень много зависимостей кода и это приводит к проблемам. Вы думаете что контекст авторизации всегда будет верхним, но это может изменится и через пол года он будет взаимно связан с контекстом оплаты
Есть еще много нюансов, но сходу не вспомнить
@@АртёмКотов-ш7ц спасибо!)
талант
Посмотрел 5 видео по хуку useContext, бесспорно это видео вне конкуренции (мое личное мнение). Огромное спасибо автору!
Спасибо. Очень простое и годное объяснение. Только я спешун еще тот. Не досмотрев ролик до конца, уже пошёл искать, зачем нужно было передавать бесполезную строку, при вызове функции createContext.
Спасибо большое за контент!
Я правильно понял, что без провайдера, стейт становится глобальным?
Какой в этом минус?
Без провайдера вообще не будет работать. Он же передаёт данные в компоненты.
@@dmitrii_gerasimov В данном моменте, на 5:06, при закомментированном провайдере, выводится значение, заданное в скобках createContext
Так в этом случае выводится не содержимое контекста, а заглушка.
Комментарий приемлемой длины в благодарность за видео
лучшее объяснение на всём ютубе. Лайк + Подписка
наконец я поняла, на кой черт мы в CreateContext что-то передаем, спасибо!))
Первое адекватное обьяснение. Я видосов 5 посмотрел, и только сейчас уже стало все понятно, спасибо
Отличное видео, подписка и лайк!
спасибо за урок только шрифт маленький, на нетбуке плохо видно
Спасибо большое, сразу стало понятно
очень доходчиво объяснил спасибо!!!
Кратко и полезно.Спасибо :)
Класс, доходчиво объяснил!
Наконец-то простое и понятное объяснение, спасибо большое)
спасибо за разборы! Очень понятно, быстро понимаешь что к чему
Спапсибо за самое понятное объяснение!
Спасибо за урок!
Коротко и ясно. Однозначно лайк
очень ясно изъяснили спасибо
Спасибо, хорошее объяснение
Очень понятно. Спасибо! 👍
Спасибо! Достаточно доступно и понятно.
Замечательное видео, одно из самых понятных из поиска на ютубе. Спасибо за ваш труд! Только делайте шрифт покрупнее, пожалуйста)
В новых видео делаю шрифт крупнее.
Коротко и понятно , спасибо)
Отличная подача! Когда уже освоился с передачей и фокусами над пропсами, со временем надоедает их каждый раз прокидывать через 10500+ компонентов. Решил замахнуться на редакс, но что-то особо не пошло, многовато кода ради кода там. Вспомнил про useContext, по практикуюсь на нем пока, ну и ознакомлюсь с твоим плейлистом по mobx)
Попробуйте redux в связке с redux-tookit, это исправление проблемы связанной с избыточным написанием кода, которая уже стала стандартом.
@@dmitrii_gerasimov пробовал, чуть проще, но все равно кажется на мудрено. Но вернутся стоит, чтобы еще раз разобрать
вверх контекст нельзя передавать? только спускать вниз сквозь children?
Нельзя, но ничто не мешает использовать его в самом верхнем компоненте. Обычно так и делают.
топовое объяснение, даже у Минина не так понятно что к чему - спасибо!