Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Как работает хранилище (store) в Redux?

Этот вопрос проверяет понимание роли хранилища (store) в Redux, его назначения и работы.

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

Хранилище (store) в Redux управляет состоянием всего приложения. Оно предоставляет методы для получения текущего состояния (getState), отправки действий (dispatch) и подписки на изменения (subscribe). Хранилище связывает редьюсеры с действиями, чтобы обновлять состояние.

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

Хранилище (store) — это объект, который содержит состояние всего приложения и предоставляет API для работы с этим состоянием. Оно создается с помощью функции createStore и принимает редьюсер как аргумент.

Основные методы хранилища:

 

getState:
Возвращает текущее состояние приложения.

const state = store.getState();
console.log(state);

dispatch:
Используется для отправки действий. После вызова dispatch, редьюсеры обрабатывают действие и возвращают обновленное состояние.

store.dispatch({ type: 'INCREMENT' });

subscribe:
Позволяет подписаться на изменения состояния. Каждый раз, когда состояние обновляется, вызывается переданная функция.

const unsubscribe = store.subscribe(() => {
  console.log('State updated:', store.getState());
});
// Чтобы отменить подписку:
unsubscribe();

Пример полного использования хранилища:

import { createStore } from 'redux';

// Редьюсер
function counterReducer(state = 0, action) {
  switch (action.type) {
    case 'INCREMENT':
      return state + 1;
    case 'DECREMENT':
      return state - 1;
    default:
      return state;
  }
}

// Создание хранилища
const store = createStore(counterReducer);

// Подписка на изменения
store.subscribe(() => {
  console.log('Текущее состояние:', store.getState());
});

// Отправка действий
store.dispatch({ type: 'INCREMENT' });
store.dispatch({ type: 'DECREMENT' });

Хранилище обеспечивает:

- Централизованное состояние: Все данные хранятся в одном месте.

- Предсказуемость: Изменения состояния происходят только через действия и редьюсеры.

- Возможность отслеживания: Благодаря методам subscribe и инструментам, таким как Redux DevTools.

 

Работа хранилища позволяет эффективно управлять состоянием, даже в больших приложениях с многочисленными компонентами.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    3

  • Сложность:

    5

Навыки

  • Redux

    Redux

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

#state

#observer

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию