Почему я получаю этот тип действия не может быть неопределенной ошибкой? - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь проверить ссылку для входа в систему и выхода из системы на своей странице, но всякий раз, когда я пытаюсь сделать window.dispatch(signup(user)), я получаю это сообщение об ошибке:

redux-logger.js:1 Uncaught Error: Actions may not have an undefined "type" property. Have you misspelled a constant?

Я дважды проверил свои действия, и это выглядит хорошо для меня:

export const RECEIVE_CURRENT_USER = 'RECEIVE_CURRENT_USER';
export const LOGOUT_CURRENT_USER = 'LOGOUT_CURRENT_USER';
export const RECEIVE_SESSION_ERRORS = 'RECEIVE_SESSION_ERRORS';

export const receiveCurrentUser = user => ({
  type: RECEIVE_CURRENT_USER,
  user
});

export const logoutCurrentUser = () => ({
  type: LOGOUT_CURRENT_USER,
});

export const receiveSessionErrors = errors => ({
  type: RECEIVE_SESSION_ERRORS,
  errors
});

export const login = user => dispatch => (
  APIUtil.login(user).then(user => dispatch(receiveCurrentUser(user)))
);

export const logout = () => dispatch => (
  APIUtil.logout().then(() => dispatch(logoutCurrentUser())),
  err => dispatch(receiveSessionErrors(err.responseJSON))
);

export const signup = user => dispatch => (
  APIUtil.signup(user).then(user => dispatch(receiveCurrentUser(user))), 
  err => dispatch(receiveSessionErrors(err.responseJSON))
);

Я также проверил мои редукторы для регистрации, и я считаю, что я импортирую действия правильно:

import {RECEIVE_CURRENT_USER, LOGOUT_CURRENT_USER} from '../actions/session_action';

const _nullUser = Object.freeze({
  id: null
});

const sessionReducer = (state = _nullUser, action) => {
  Object.freeze(state);
  switch (action.type) {
    case RECEIVE_CURRENT_USER:
      return {id: action.currentUser.id};
    case LOGOUT_CURRENT_USER:
      return _nullUser;
    default:
      return state;
  }
}

export default sessionReducer;

Любая идея как почему эта ошибка появляется или откуда она может появиться?

ОБНОВЛЕНИЕ : Кажется, что регистрация пользователя прошла, и пользователь действительно находится в моей базе данных, несмотря на сообщение об ошибке , Но когда я выполняю getState() на консоли, созданный мной пользователь не появляется в состоянии.

Вот более подробное изображение сообщения об ошибке:

enter image description here

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