Встречается на собеседованиях • сегодня
Как сделать асинхронный запрос 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('https://api.example.com/data');
const data = await response.json();
dispatch({ type: 'FETCH_SUCCESS', payload: data });
} catch (error) {
dispatch({ type: 'FETCH_ERROR', error });
}
};
// store setup
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers';
const store = createStore(rootReducer, applyMiddleware(thunk));
text
Основные моменты:
1. Action creator возвращает функцию вместо объекта
2. Middleware перехватывает такие функции
3. Внутри можно делать асинхронные операции и диспатчить обычные actions
4. Обработка состояний загрузки, успеха и ошибки
Для более сложных сценариев можно использовать `redux-saga` с генераторами.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы