Контекстный API в ReactJS, почему и как?

Зачем использовать Context-API?

  • Чтобы понять, зачем использовать Context-API, сначала мы рассмотрим, что такое Props-Drilling .
  • Посмотрите на левое изображение дерева компонентов.
  • Может случиться так, что дочернему компоненту в нижней части дерева потребуются данные, но компоненты контейнера или дочерние компоненты в середине могут не нуждаться в этих данных.
  • В этом случае, даже если среднему компоненту не нужны данные, они должны получить их, чтобы передать их дочернему компоненту.
  • Если ваше приложение слишком велико, это вызовет большую проблему. Разработчикам необходимо продолжать передавать данные от одного компонента к следующему.
  • Эта проблема известна как Props Drilling.
  • В Context-API за пределами дерева компонентов создается отдельное пространство для хранения, в котором мы должны хранить данные.
  • Теперь, если нам нужны эти данные внутри любого компонента, мы можем напрямую получить доступ к данным из Context-API.
  • Теперь посмотрим, как это работает, на примере.

  • Для CreateContext мы можем использовать createContext () из React.
  • После создания UserContext мы должны его экспортировать.
  • Теперь, чтобы добавить данные внутри контекста, мы должны заключить родительский элемент в <UserContext.Provider> или <UserProvider>.
  • как только мы обернемся с помощью Wrapper, мы должны передать данные в атрибут value .

1) В функциональном компоненте.

2) В методах жизненного цикла компонента класса.

3) В методе рендеринга компонента класса.

1) В функциональном компоненте: -

  • Внутри функционального компонента или хуков мы должны использовать хук useContext (), предоставленный пакетом React.
  • Теперь нам нужно импортировать UserContext и передать его useContext () .
  • useContext (UserContext) вернет данные пользователя внутри Context. которые мы можем использовать в дальнейшем.
  • Самый распространенный способ доступа к Context из компонента класса - через static contextType.
  • Если вам нужно значение из Context вне renderметода жизненного цикла или в методе жизненного цикла, вы можете использовать его таким образом.
  • Традиционный способ получения значений контекста заключался в заключении дочернего компонента в Consumer.
  • Оттуда вы сможете получить доступ к опоре значения как props.
  • Вы все еще можете это увидеть, но это скорее устаревший способ доступа к Context.

Suggested posts

Как избежать разрушительных последствий инсульта: уроки семейного опыта.

Как избежать разрушительных последствий инсульта: уроки семейного опыта.

Введение Инсульт — это неотложная медицинская помощь, которая может случиться с кем угодно в любое время. Это происходит, когда приток крови к части мозга нарушается, что приводит к внезапной потере функции мозга.

Jest — мощный фреймворк для тестирования JavaScript

Jest — мощный фреймворк для тестирования JavaScript

Тестирование — неотъемлемая часть разработки программного обеспечения. Это гарантирует, что код надежен, функционирует должным образом и снижает вероятность ошибок.

Related posts

Отслеживайте кого угодно только по номеру телефона | OSINT-расследование

Отслеживайте кого угодно только по номеру телефона | OSINT-расследование

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

местоимения очень страшные

Это поражает меня Внезапно, как это часто бывает, Это снова и снова на полпути <Нет, не то, что в Тихом океане, ты темно-бордовый, то, что на карнавале> Каждый громкий заголовок…..

Почему некоторые фрилансеры притворяются своей жизнью

Почему некоторые фрилансеры притворяются своей жизнью

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

Опасные разговоры

Опасные разговоры

Если мы хотим продолжать процветать на этой планете, нам придется вести опасные разговоры. Те, которые бросают вызов тому, что мы сделали, что мы делаем и что мы в настоящее время собираемся продолжать делать (или планируем делать).