Я довольно новый, чтобы реагировать, и у меня проблемы с отправкой действий после вызовов API. В настоящее время я не использую какое-либо промежуточное программное обеспечение, которое обрабатывает асинхронные действия. Я смог реализовать логин, выход из системы и регистрацию, выполняя вызовы async api. Я попытался реализовать вызов api, который получает всех пользователей, и теперь я получаю эту ошибку. Моя функция getProfile() отлично работает с любыми проблемами. Моя функция getUsers() выбрасывает ошибку.React redux async error error
Error: Actions must be plain objects. Use custom middleware for async actions.
вот мои действия
function profileRecieved(user){
return {
type: PROFILE_RECIEVED,
user
}
}
function usersRecieved(users){
type: USERS_RECIEVED,
users
}
export function getProfile(id){
WebApi.get('/user/'+id, result => {
if(result.status !== 200){
console.log("ERROR");
} else {
store.dispatch(profileRecieved(result.data));
}
})
}
export function getUsers(){
WebApi.get('/users', result => {
store.dispatch(usersRecieved(result.data.users));
})
}
вот мой редуктор
const initialState = {
profileUser:{
username: "",
id:"",
email: ""
},
users: []
};
const UserReducer = (state = initialState, action) => {
switch(action.type) {
case PROFILE_RECIEVED:
return Object.assign({}, state, {
profileUser: action.user
});
case USERS_RECIEVED:
return Object.assign({}, state, {
users : action.users
});
default:
return state;
}
и вот мой WebAPI класс
var instance = axios.create({
baseURL: BASE_URL,
headers: {
Authorization: localStorage.getItem("access_token")
}
});
// All requests made with this class will have
// the Authorization header added to it
class WebApi{
static get(route, callback){
instance.get(route)
.then(response => {
callback(response);
})
.catch(err => {
console.log(err);
});
}
static post(route, data, callback){
instance.post(route, data)
.then(response => {
callback(response);
})
.catch(err => {
console.log(err);
});
}
}
спасибо, я не могу поверить, что пропустил это. –