Второе и последующее тогда не работают - PullRequest
0 голосов
/ 18 сентября 2018

Работает только первый then. Каждый последующий then не работает.

 export const usersFetchData = (url) => {
 return (dispatch) => {
    dispatch(userIsLoading(true));

    axios
        .get(url)
        .then(res => {
            if(!res.ok){
                throw Error(res.statusText)
            }
            dispatch(userIsLoading(false));
            console.log(res.data);
            return res;    
        })
        .then(res => res.json())
        .then(users => {
            console.log(users);
            dispatch(usersFetchDataSuccess(users))})
        .catch(() => dispatch(userHasErrored(true)));
}
}

1 Ответ

0 голосов
/ 18 сентября 2018

axios преобразует его в JSON для вас, вам не нужно делать это самостоятельно, как в fetch

export const usersFetchData = (url) => {
 return (dispatch) => {
  dispatch(userIsLoading(true));

  axios
    .get(url)
    .then(res => {
        if(!res.ok){
            throw Error(res.statusText)
        }
        dispatch(userIsLoading(false));
        console.log(res.data);
        return res.data; // returning the json respone    
    })
    //.then(res => res.json()) // removed this, you don't need it
    .then(users => {
        console.log(users);
        dispatch(usersFetchDataSuccess(users))
    })
    .catch(() => dispatch(userHasErrored(true)));
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...