React-Redux - 在调度时获取错误 - TypeError

问题描述 投票:0回答:2

在我的authActions文件中,我得到了一个unhandled rejection (typeerror) cannot read property of data of undefined

指向这行代码

dispatch(returnErrors(err.response.data, err.response.status));

我在请求主体中定义了相同的代码块,并且它没有指向该错误,只是这个错误。不确定发生了什么。

authActions.js

export const loadUser = () => (dispatch, getState) => {
    // User loading
    dispatch({ type: USER_LOADING });


    // Fetch user
    axios.get('/api/auth/user', tokenConfig(getState))
    .then(res => dispatch({
      type: USER_LOADED,
      payload: res.data
    }))
    .catch(err => {
      dispatch(returnErrors(err.response.data, 
      err.response.status));
      dispatch({
        type: AUTH_ERROR
      });
    });
};
reactjs redux dispatch
2个回答
0
投票

未处理的拒绝(typeerror)无法读取undefined数据的属性

错误消息是说没有数据称为错误响应,所以它未定义,这意味着你无法获取未定义的数据。尝试记录错误或调试代码以检查错误是什么,然后根据真实的错误形状演变拒绝处理程序。


0
投票

您可以通过单击F12来尝试此代码并查看开发人员控制台中的控制台日志。我知道你不熟悉React / Redux所以提供调试代码。

export const loadUser = () => (dispatch, getState) => {
    // User loading
    dispatch({ type: USER_LOADING });


    // Fetch user
    axios.get('/api/auth/user', tokenConfig(getState))
    .then(res => {
      if (res.data) {
        dispatch({
            type: USER_LOADED,
            payload: res.data
        })
      }
    })
    .catch(err => {
        console.log(err.response)
        console.log(err.response.data)
        if (err.response.data) {
          dispatch(returnErrors(err.response.data, err.response.status));
          dispatch({
            type: AUTH_ERROR
          });
        }
    });
};
© www.soinside.com 2019 - 2024. All rights reserved.