Ответ
Actions — это простые объекты, которые описывают событие в приложении. Они содержат обязательное поле type и могут включать дополнительные данные (payload).
Reducers — это чистые функции, которые принимают текущее состояние и action, возвращают новое состояние. Они определяют, как состояние изменяется в ответ на action.
Пример:
// Action
const increment = { type: 'INCREMENT', payload: 1 };
// Reducer
function counter(state = 0, action) {
switch (action.type) {
case 'INCREMENT':
return state + action.payload;
default:
return state;
}
}
Ключевые отличия:
- Actions — это события, reducers — обработчики.
- Actions не изменяют состояние, reducers — да.
- Reducers должны быть чистыми (без side effects).