Как исправить «Unhandled Rejection (TypeError): undefined не является объектом (оценивается как« err.response.data »)» - PullRequest
0 голосов
/ 01 июня 2019

Я создаю приложение реагирования с редуксом в качестве менеджера состояний. Все действия на рабочем столе работают нормально, но вылетает, как только я пытаюсь использовать приложение на iOS. Например, у меня есть страница входа в систему, и она работает, как и следовало ожидать в веб-браузере на рабочем столе, но на ios я получаю эту ошибку - Unhandled Rejection (TypeError): undefined не является объектом (оценка 'err.response.data') .

Я вложил файл моего магазина приставки ниже

Изначально я думал, что это ошибка с инструментами redux dev, но даже после удаления этой строки кода он все равно вылетает

  createStore,
  applyMiddleware,
  compose
} from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers/index'
const middleware = [thunk];
const initialState = {};



const getComposeEnhancers = () => {
  if (window.navigator.userAgent.includes('Chrome')) {
    return compose(
      applyMiddleware(...middleware), window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
    );
  } else

    return compose(applyMiddleware(...middleware));
};



const store = createStore(rootReducer,
  initialState,
  getComposeEnhancers()
);

export default store;
// This is the authActions file, responsible for registering and login
import axios from 'axios';
import setAuthToken from '../utils/setAuthToken';
import {GET_ERRORS, SET_CURRENT_USER} from './types';
import jwt_decode from 'jwt-decode';
const url = 'http://localhost:5000/api';

//register

export const registerUser = (userData, history) => dispatch => {
  axios.post(`${url}/auth/register`, userData)
       .then(res=>{history.push('/login')

     }).catch(err=> dispatch({
       type: GET_ERRORS,
       payload: err.response.data
     }))
}

//login 
export const loginUser = (userData)=> dispatch=>{
  axios.post(`${url}/auth/login`, userData)
        .then(res=>{
          //save to local storage
          const {token} = res.data;
          //set token to localstorage
          localStorage.setItem('jwt_token', token);
          //set token to auth header
          setAuthToken(token);
          //decode token to get userData
          const decoded = jwt_decode(token);
          //set current user
          dispatch(setCurrentUser(decoded))

        }).catch(err=> dispatch({
          type: GET_ERRORS,
          payload: err.response.data
        }))
}

//set logged in user

export const setCurrentUser = (decoded)=>{
  return {
    type: SET_CURRENT_USER,
    payload: decoded
  }
}


//log out user
export const logoutUser=()=>dispatch=>{
//rm jwt_token
localStorage.removeItem('jwt_token');
//rm auth header
setAuthToken(false);
//set setCurrentUser to {}
dispatch(setCurrentUser({}))


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