Загрузка…
Загрузка…
React · middle · сложность 5
Redux — библиотека для предсказуемого управления глобальным состоянием. Состояние хранится в одном дереве (store), меняется только через dispatch экшенов, а логика обновления сосредоточена в чистых reducers.
action (объект с type и данными).reducer по type возвращает новый объект состояния (иммутабельно).useSelector, connect) получают обновление и перерисовываются.const initial = { count: 0 };
function counterReducer(state = initial, action) {
switch (action.type) {
case 'increment':
return { ...state, count: state.count + 1 };
default:
return state;
}
}Спрашивают, чтобы понять: умеете ли вы отделять UI от бизнес-логики, понимаете однонаправленный поток данных и когда глобальный store оправдан. Не каждый проект нуждается в Redux: локальный useState/useReducer и Context часто достаточны.
redux-thunk, redux-saga) или в RTK Query.createSlice, configureStore): меньше бойлерплейта и встроенный Immer.Итог: Redux даёт единый источник истины и явные правила изменений. На интервью важно сказать и когда он полезен (сложный shared state, аудит изменений), и когда избыточен.