Веб-версияОткрыть в Telegram

Пост🤔 Что такое usecontext?

6 сентября 2026
F
Frontend | Вопросы собесов
🤔 Что такое usecontext? Это один из встроенных хуков, который позволяет компонентам подписываться на контекст и получать доступ к данным контекста. Используется для передачи данных через дерево компонентов без необходимости передавать пропсы на каждом уровне. Это особенно полезно для глобальных данных, таких как текущий авторизованный пользователь, тема (светлая/темная) или настройки локализации. 🚩Как он работает 🟠Создание контекста Для создания контекста используется функция createContext. Она возвращает объект контекста, который содержит два компонента: Provider и Consumer. import React, { createContext, useState } from 'react'; const MyContext = createContext(); 🟠Provider Компонент Provider используется для предоставления значения контекста всем дочерним компонентам. Все компоненты внутри Provider могут получить доступ к значениям, переданным в value. const MyProvider = ({ children }) => { const [state, setState] = useState('Hello World'); return ( <MyContext.Provider value={{ state, setState }}> {children} </MyContext.Provider> ); }; 🟠useContext Используется для подписки на контекст в функциональных компонентах. Он принимает объект контекста, возвращаемый из createContext, и возвращает текущее значение контекста. import React, { useContext } from 'react'; const MyComponent = () => { const { state, setState } = useContext(MyContext); return ( <div> <p>{state}</p> <button onClick={() => setState('New Value')}>Change Value</button> </div> ); }; Полный пример import React, { createContext, useState, useContext } from 'react'; // Создание контекста const MyContext = createContext(); const MyProvider = ({ children }) => { const [state, setState] = useState('Hello World'); return ( <MyContext.Provider value={{ state, setState }}> {children} </MyContext.Provider> ); }; const MyComponent = () => { const { state, setState } = useContext(MyContext); return ( <div> <p>{state}</p> <button onClick={() => setState('New Value')}>Change Value</button> </div> ); }; const App = () => ( <MyProvider> <MyComponent /> </MyProvider> ); export default App; Ставь 👍 и забирай 📚 Базу знаний
5 · 1.5K ·

Рядом в ленте

FFrontend | Вопросы собесов🤔 Зачем нам разбивать приложение отдельно на backend и frontend? Разделение на Frontend (клиент) и Backend (сервер) – это стандартный подход в современной веб-рFFrontend | Вопросы собесов🤔 Что известно о внедрении зависимостей? Dependency Injection (внедрение зависимостей) — это передача внешних зависимостей объекту вместо создания их внутри. Эт
это сообщение
FFrontend | Вопросы собесов🤔 Как увеличить в размере при наведении элемент, не сдвигая соседние? Чтобы увеличить элемент в размере при наведении, не сдвигая при этом соседние элементы, моFFrontend | Вопросы собесов🤔 Как отменить обтекание картинки текстом? Когда мы добавляем картинку в HTML, текст по умолчанию может обтекать её, если используется float. 🚩Отмена обтекания
FFrontend | Вопросы собесовFrontend | Вопросы собесов@easy_javascript_ru · канал · Технологии
17 625подписчиков1 139средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем