Проверяет понимание полного цикла обработки данных в Redux от действия до обновления интерфейса.
Redux — это предсказуемый контейнер состояния для JavaScript-приложений. Весь цикл начинается с вызова функции dispatch с объектом action, который содержит тип и опциональные данные. Далее Redux передаёт текущее состояние и action в корневой reducer, который решает, как изменить состояние. Reducer должен быть чистой функцией: он не изменяет исходный state, а возвращает новый объект. После этого store обновляет своё внутреннее состояние и вызывает всех подписчиков, зарегистрированных через subscribe. В React-приложении подписка осуществляется через react-redux: connect или хуки useSelector/useDispatch. Когда store уведомляет об изменении, React запускает ререндер компонентов, которые зависят от изменившейся части состояния.
// action creator
const increment = () => ({ type: 'INCREMENT' });
// reducer
const counter = (state = 0, action) => {
switch (action.type) {
case 'INCREMENT':
return state + 1;
default:
return state;
}
};
// store
const store = createStore(counter);
// dispatch
store.dispatch(increment());
console.log(store.getState()); // 1Понимание этого цикла необходимо для отладки, оптимизации производительности и правильного проектирования архитектуры Redux-приложений. Используйте этот подход, когда требуется централизованное управление состоянием с предсказуемыми изменениями.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию