Тест на избыточность Действия должны быть простыми объектами.Использовать пользовательское промежуточное ПО для асинхронных действий - PullRequest
0 голосов
/ 24 июня 2019

Я не использую redux-thunk. это сохраняет ошибки, и я не уверен, как это исправить. Примеры, которые я вижу в Интернете, используют redux-thunk, который я не использую

мое репо здесь и файл, который я пытаюсь проверить, находится в tests\actions\...

error of action

Мое действие, которое вызывается в тесте

import axios from "axios";
var CancelToken = axios.CancelToken;
let fetch_cancel;

export const FETCH_CATEGORIES = "fetch_categories";

export async function fetchCategories() {
  fetch_cancel && fetch_cancel();
  const request = await axios.get(
    `https://d1i9eedhsgvpdh.cloudfront.net/production-plentific-static/api-cache/find-a-pro/api/v1/categories/all.json`,
    {
      cancelToken: new CancelToken(function executor(c) {
        // An executor function receives a cancel function as a parameter
        fetch_cancel = c;
      })
    }
  );
  return {
    type: FETCH_CATEGORIES,
    payload: request
  };
}

1 Ответ

0 голосов
/ 24 июня 2019

Сообщение об ошибке означает, что ваши действия должны быть простыми объектами. Например:

store.dispatch({
  type: 'ADD_TODO',
  text: 'Understand the middleware'
})

Если вы делаете асинхронный запрос, вы не можете просто вернуть объект, потому что вам нужно дождаться завершения запроса. Если вы вернетесь слишком рано, вы вернете Обещание.

Однако я не могу воспроизвести вашу ошибку в вашей песочнице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...