Встречается на собеседованиях • сегодня

Как делал асинхронные запросы в Redux

В Redux асинхронные запросы обычно обрабатываются с помощью middleware. Самые популярные подходы:

  1. Redux Thunk (наиболее распространенный):
javascript
const fetchData = () => async (dispatch) => {
  dispatch({ type: 'FETCH_START' });
  try {
    const response = await api.get('/data');
    dispatch({ type: 'FETCH_SUCCESS', payload: response.data });
  } catch (error) {
    dispatch({ type: 'FETCH_ERROR', error });
  }
};
  1. Redux Saga (для сложных сценариев):
javascript
function* fetchData() {
  yield put({ type: 'FETCH_START' });
  try {
    const response = yield call(api.get, '/data');
    yield put({ type: 'FETCH_SUCCESS', payload: response.data });
  } catch (error) {
    yield put({ type: 'FETCH_ERROR', error });
  }
}
  1. RTK Query (современный подход в Redux Toolkit):
javascript
// В API slice
const apiSlice = createApi({
  endpoints: (builder) => ({
    getData: builder.query({
      query: () => '/data',
    }),
  }),
});

Для Thunk и Saga нужно предварительно настроить middleware в store. RTK Query идет "из коробки" в Redux Toolkit.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы