Эти действия в sessionActions:Прием TypeError при выполнении действия Redux с помощью Вардар
// 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
Я могу» t, похоже, выяснить, что не так ... дополнительная информация ниже:
"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_ - редукция thunk import thunk из 'redux-thunk';/applyMiddleware (thunk) –
в основном «ошибка» не является функцией. Из просмотра документов acios API я этого не вижу. Вы пытались «поймать» вместо «ошибки»? Это то, что используется в файле Axios README. – aarosil