Sobes.tech
Middle
106
questionbank

Что необходимо сделать, чтобы изменить данные в хранилище Redux?

AI答案

sobes.tech AI

  • Инициировать экшен: Вызвать функцию dispatch с объектом экшена, который описывает произошедшее событие (тип экшена и опциональные данные).
  • Экшен попадает в редюсер: Redux передает экшен всем зарегистрированным редюсерам.
  • Редюсер обрабатывает экшен: На основе типа экшена редюсер возвращает новое состояние, не мутируя предыдущее.
// Экшен
const updateUser = (payload) => ({
  type: 'UPDATE_USER',
  payload,
});

// Диспатч экшена
dispatch(updateUser({ name: 'Новое имя' }));
// Редюсер
const userReducer = (state = { name: 'Имя' }, action) => {
  switch (action.type) {
    case 'UPDATE_USER':
      return { ...state, ...action.payload }; // Возвращаем новое состояние
    default:
      return state;
  }
};