这些都是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