Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Redux: state

Какова цель библиотеки Redux и как она работает с React?

Этот вопрос проверяет знание библиотек для управления состоянием, их цели и способы интеграции с React

Короткий ответ

Redux помогает управлять состоянием приложения, храня его в одном месте (глобальном хранилище). Он работает с React через контекст и провайдеры, предоставляя компонентам доступ к общему состоянию. React-Redux упрощает использование Redux в React, предоставляя хуки, такие как useSelector и useDispatch.

Длинный ответ

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

Redux состоит из трех ключевых элементов:

  • Хранилище (store): Это объект, который содержит все состояние приложения.

  • Действия (actions): Это объекты, описывающие, что должно измениться в состоянии. Они всегда содержат тип действия (type) и могут содержать дополнительные данные (payload).

  • Редьюсеры (reducers): Это функции, которые принимают текущее состояние и действие и возвращают новое состояние.

С React Redux интегрируется через библиотеку React-Redux, которая предоставляет:

  • Provider: Компонент, который делает хранилище доступным для всего дерева React-компонентов.

  • Хуки useSelector и useDispatch: Для получения данных из состояния и вызова действий соответственно.

Пример:

// Действие
const increment = { type: 'INCREMENT' };
// Редьюсер
function counterReducer(state = 0, action) {
	switch (action.type) {
		case 'INCREMENT':
			return state + 1;
		default:
			return state;
	}
}
// Создание хранилища
import { createStore } from 'redux';
const store = createStore(counterReducer);
// React-компонент
import React from 'react';
import { Provider, useSelector, useDispatch } from 'react-redux';
function Counter() {
	const count = useSelector((state) => state);
	const dispatch = useDispatch();
	return (
		<div>
			<p>Count: {count}</p>
			<button onClick={() => dispatch(increment)}>Increment</button>
		</div>
	);
}
function App() {
	return (
		<Provider store={store}>
			<Counter />
		</Provider>
	);
}

Redux полезен в больших приложениях с множеством состояний, которые нужно синхронизировать между компонентами. Однако для небольших проектов он может быть излишне сложным. Альтернативы, такие как React Context или Zustand, могут быть проще в некоторых случаях.

Уровень

  • Рейтинг:

    3

  • Сложность:

    3

Навыки

  • Redux

    Redux

Ключевые слова

#state

Подпишись на React Developer в телеграм