인프런 커뮤니티 질문&답변

비오님의 프로필 이미지

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

로그인 문제 해결하기

로그인 실패 시 에러처리

해결된 질문

작성

·

726

0

안녕하세요 제로초님! 로그인 실패시 에러가 나는데 아무리 찾아봐도 어디가 문제인지 못찾겠어요ㅜㅜ

로그인 성공시에는 아무 문제가 없는데,

로그인 실패(이메일이나 비밀번호를 잘못 입력할때) 계속 반복적으로 로그인요청을 보냅니다. 그리고 로그인 실패응답을 받아서 콘솔창에 에러메시지가 쌓여요.

사가에서 중간중간 console.log를 사용했더니 위와 같이 응답되었습니다.

saga쪽 코드도 첨부할게요.

import axios from 'axios';
import { all, delay, fork, put, takeLatest, call } from 'redux-saga/effects';
import {
  FOLLOW_FAILURE,
  FOLLOW_REQUEST,
  FOLLOW_SUCCESS,
// 다른 액션 생략....
} from '../reducers/user';

function logInAPI(data) {
  return axios.post('/user/login', data);
}

function* logIn(action) {
  console.log('request');
  try {
    console.log('loading');
    const result = yield call(logInAPI, action.data);
    yield put({
      type: LOG_IN_SUCCESS,
      data: result.data,
    });
    console.log('success');
  } catch (error) {
    console.log('catch');
    console.error(error);
    yield put({
      type: LOG_IN_FAILURE,
      error: error.response.data,
    });
    console.log('fail');
  }
}

// 로그인 외 사가 생략

function* watchLogIn() {
  yield takeLatest(LOG_IN_REQUEST, logIn);
}
function* watchLogOut() {
  yield takeLatest(LOG_OUT_REQUEST, logOut);
}
function* watchSignUp() {
  yield takeLatest(SIGN_UP_REQUEST, signUp);
}
function* watchFollow() {
  yield takeLatest(FOLLOW_REQUEST, follow);
}
function* watchUnFollow() {
  yield takeLatest(UNFOLLOW_REQUEST, unfollow);
}
export default function* userSaga() {
  yield all([
    fork(watchLogIn),
    fork(watchLogOut),
    fork(watchSignUp),
    fork(watchFollow),
    fork(watchUnFollow),
  ]);
}

어디가 잘못된 걸까요?ㅜㅜ

답변 4

0

비오님의 프로필 이미지
비오
질문자

앗 그렇네요!!! 아 그래서 이렇게...... 너무 기본적인 실수라 부끄럽네요....하핳... 오류날때 어떻게 찾아야하는지 좀더 배운것 같아요. 감사합니다.

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

혹시 reducer에서 const LOG_IN_FAILURE = 'LOG_IN_REQUEST'로 되어 있느는건 아닌가요?

0

비오님의 프로필 이미지
비오
질문자

아니요 그건 처음 한번만 떠요ㅠㅠ 사가쪽 console만 반복돼요.

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

LoginForm.js의 dispatch loginAction 찍으신 것 위에 console.log(email, password)도 계속 뜨나요?

비오님의 프로필 이미지

작성한 질문수

질문하기