Я создаю приложение React, и мне нужно сделать асинхронный запрос с Redux, я хочу использовать redux-thunk, чтобы получить, но получаю эту ошибку.
Uncaught Error: действия должны быть простымиобъекты.Использовать пользовательское промежуточное ПО для асинхронных действий
это мой код:
export function firewall(state = { data: [], loading: false, error: false }, action) {
switch (action.type) {
case 'REQUESTED_DATA_FAILED':
return {
data: [],
loading: false,
error: true,
};
case 'REQUESTED_DATA_SUCCEEDED':
return {
data: action.data,
loading: false,
error: false,
};
case 'REQUESTED_DATA':
return {
data: [],
loading: true,
error: false,
};
default:
return state;
}
}
const requestData = () => {
return { type: 'REQUESTED_DATA' }
};
const requestDataSuccess = (data) => {
return { type: 'REQUESTED_DATA_SUCCEEDED', data: data }
};
const requestDataError = () => {
return { type: 'REQUESTED_DATA_FAILED' }
};
export const getFirewall = () => {
return dispatch => {
dispatch(requestData())
request('/list', 'get')
.then(res =>
dispatch(requestDataSuccess(formatData(res.data))))
.catch(error => dispatch(requestDataError()))
}
}
и это мой магазин
import { createStore, applyMiddleware } from 'redux'
import thunk from 'redux-thunk';
import { Reducers } from './reducer'
export const store = createStore(
Reducers,
applyMiddleware(thunk)
);