Встречается на собеседованиях • сегодня
Как работать с асинхронными запросами в Redux
Для работы с асинхронными запросами в Redux используют middleware, чаще всего redux-thunk или redux-saga.
Redux Thunk (проще):
javascript
// action creator
const fetchData = () => async (dispatch) => {
dispatch({ type: 'FETCH_START' });
try {
const response = await fetch('api/data');
const data = await response.json();
dispatch({ type: 'FETCH_SUCCESS', payload: data });
} catch (error) {
dispatch({ type: 'FETCH_ERROR', payload: error });
}
};Redux Saga (сложнее, но мощнее):
javascript
import { call, put, takeEvery } from 'redux-saga/effects';
function* fetchDataSaga() {
try {
const response = yield call(fetch, 'api/data');
const data = yield response.json();
yield put({ type: 'FETCH_SUCCESS', payload: data });
} catch (error) {
yield put({ type: 'FETCH_ERROR', payload: error });
}
}
function* watchFetchData() {
yield takeEvery('FETCH_REQUEST', fetchDataSaga);
}RTK Query (современный подход):
Встроен в Redux Toolkit, автоматически генерирует actions и reducers.
Выбор зависит от сложности проекта:
- Простые запросы →
redux-thunk - Сложная логика (отмена, ретраи) →
redux-saga - Новые проекты →
RTK Query

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы