Назад к вопросам
Middle+
1
Что такое React Context, когда его использовать, а когда лучше state manager?
Компании, где спрашивали
Perfluence
Ответ от нейросети
sobes.tech AI
React Context — это механизм для передачи данных через дерево компонентов без необходимости явно прокидывать пропсы на каждом уровне. Он удобен для глобальных настроек, таких как тема, локализация, текущий пользователь.
Когда использовать React Context:
- Для небольшого количества глобальных данных, которые редко меняются.
- Когда нужно избежать "prop drilling" (передачи пропсов через много уровней).
Когда лучше использовать state manager (Redux, MobX, Zustand и др.):
- Если приложение большое и сложное, с множеством состояний и сложной логикой обновления.
- Когда нужно централизованное управление состоянием с возможностью отладки, middleware, undo/redo и т.п.
Пример использования React Context:
const ThemeContext = React.createContext('light');
function App() {
return (
<ThemeContext.Provider value="dark">
<Toolbar />
</ThemeContext.Provider>
);
}
function Toolbar() {
return <ThemedButton />;
}
function ThemedButton() {
const theme = React.useContext(ThemeContext);
return <button style={{ background: theme === 'dark' ? '#333' : '#ccc' }}>Кнопка</button>;
}
Таким образом, Context хорош для простых случаев глобального состояния, а state manager — для сложных приложений с большим количеством взаимодействий.