해결된 질문
작성
·
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
0
0