redux-thunk get error: Uncaught Error: действия должны быть простыми объектами - PullRequest
0 голосов
/ 14 октября 2018

Я создаю приложение 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)
);
...