這些都是sessionActions行動終極版動作當接收到一個類型錯誤:執行使用愛可信
// Absolute imports
import axios from 'axios';
// Relative imports
import * as types from './actionTypes';
import auth from '../auth/authenticator';
import { ROOT_URL } from './constants';
export function loginUser(formValues) {
return function (dispatch) {
return axios.post(`${ROOT_URL}/login`, formValues)
.then((response) => {
dispatch(loginSuccess(response.data));
})
.error((response) => {
dispatch(loginFailure(response.data));
});
}
}
export function loginSuccess(user) {
return {
type: types.LOG_IN_SUCCESS,
payload: user
};
}
export function loginFailure(error) {
return {
type: types.LOG_IN_FAILURE,
payload: error
};
}
當我觸發動作我得到以下錯誤:
Uncaught TypeError: _axios2.default.post(...).then(...).error is not a function
我可以」噸似乎找出了什麼是錯...下面的附加信息:
"axios": "^0.15.3",
我一直堅持在這裏一整天,似乎無法找到,將引導我到一個解決方案的任何信息......
張貼我sessionReducer還有:
// Absolute imports
import { browserHistory } from 'react-router';
// Relative imports
import * as types from '../actions/actionTypes';
const INITIAL_STATE = { user: null, status: null, error: null, loading: false };
export default function sessionReducer(state = INITIAL_STATE, action) {
let error;
switch (action.type) {
case types.LOG_IN_SUCCESS:
browserHistory.push('/dashboard');
return { ...state, user: action.payload.user, status: 'authenticated', error: null, loading: false };
case types.LOG_IN_FAILURE:
error = action.payload.data || { message: action.payload.message };
return { ...state, user: null, status: 'sign-in', error: error, loading: false };
case types.LOG_OUT:
return { ...state, user: null, status: 'logout', error: null, loading: false };
default:
return state;
}
}
我也應該注意到我可以在這個過程中的多個點處引入一個調試器,並查看返回的正確有效負載。只是無法弄清楚錯誤發生的原因,並停止整個過程。
您是否在使用中間件? –
@UG_ - 從'redux-thunk'還原thunk導入thunk;/applyMiddleware(thunk) –
基本上「錯誤」不是函數。從查看axios API文檔,我沒有看到這一點。你嘗試「抓」而不是「錯誤」?這就是Axios README文件中使用的。 – aarosil