Я уже потратил несколько часов, пытаясь выяснить эту ошибку, и попробовал предложения по вопросам, которые кажутся дублирующими, но я не смог ее решить.Я думаю, что может быть что-то не так с моей конфигурацией магазина, но я не могу заставить его работать ...
Я не могу использовать асинхронные действия и всегда получаю эту ошибку: Ошибка: Действия должны бытьпростые объекты.Используйте пользовательское промежуточное ПО для асинхронных действий.
Мой редуктор:
import { ADD_REPOS, CLEAR_REPOS } from '../actions/types';
const repos = (state = [], action) => {
switch (action.type) {
case ADD_REPOS:
return action.repos;
case CLEAR_REPOS:
return [];
default:
return state;
}
};
export default repos
Мои действия (только getRepos - это тестовая функция. Я хочу создать асинхронные действия для выполнения вызовов API).:
import { ADD_REPOS, CLEAR_REPOS } from './types';
export const addRepos = repos => ({
type: ADD_REPOS,
repos,
});
export const clearRepos = () => ({ type: CLEAR_REPOS });
export function getRepos() {
return function (dispatch) {
setTimeout(function () {
dispatch(addRepos({"Example1": "example1", "Example2": "example2"}));
}, 1000);
}
}
Конфигурация моего магазина:
import { applyMiddleware, createStore } from 'redux';
import rootReducer from './reducers/index';
import thunk from 'redux-thunk';
export default function configureStore(initialState = {}) {
const store = createStore(rootReducer, initialState, applyMiddleware(thunk));
return store;
}
Мои зависимости:
"@expo/samples": "2.1.1",
"axios": "^0.18.0",
"expo": "^32.0.0",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
"react-native-axios": "^0.17.1",
"react-native-elements": "^1.1.0",
"react-navigation": "^3.0.9",
"react-redux": "6.0.0",
"redux": "^4.0.1",
"redux-devtools-extension": "^2.13.8",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0"
У кого-нибудь есть идеи, чего мне здесь не хватает?