action값을 sagas의 user.js에서 받아서 yield call(signUpAPI, action.data);하는 부분에서 오류가 납니다.
오류 메시지를 타고 가보면 무슨 data가 선언이 안됐다는 뚱딴지 같은 오류를 내보내는데 도대체 이해가 안됩니다. ㅠㅠ
그래서 쭈욱 따라가보니...
import { all, delay, fork, put, takeLatest, call } from 'redux-saga/effects';
import {
FOLLOW_FAILURE,
FOLLOW_REQUEST,
FOLLOW_SUCCESS,
LOG_IN_FAILURE,
LOG_IN_REQUEST,
LOG_IN_SUCCESS,
LOG_OUT_FAILURE,
LOG_OUT_REQUEST,
LOG_OUT_SUCCESS,
SIGN_UP_FAILURE,
SIGN_UP_REQUEST,
SIGN_UP_SUCCESS,
UNFOLLOW_FAILURE,
UNFOLLOW_REQUEST,
UNFOLLOW_SUCCESS,
} from '../reducers/user';
function logInAPI(data) {
return axios.post('/api/login', data);
}
function* logIn(action) {
try {
console.log('saga logIn');
// const result = yield call(logInAPI);
yield delay(1000);
yield put({
type: LOG_IN_SUCCESS,
data: action.data,
});
} catch (err) {
console.error(err);
yield put({
type: LOG_IN_FAILURE,
error: err.response.data,
});
}
}
function logOutAPI() {
return axios.post('/api/logout');
}
function* logOut() {
try {
// const result = yield call(logOutAPI);
yield delay(1000);
yield put({
type: LOG_OUT_SUCCESS,
});
} catch (err) {
console.error(err);
yield put({
type: LOG_OUT_FAILURE,
error: err.response.data,
});
}
}
function signUpAPI(data) {
return axios.post('http://localhost:3065/user', data);
}
function* signUp(action) {
try {
console.log("뭐가 이상한데1");
console.log("action.data" , action.data);
const result = yield call(signUpAPI, action.data);
console.log("뭐가 이상한데2");
yield put({
type: SIGN_UP_SUCCESS,
});
} catch (err) {
yield put({
type: SIGN_UP_FAILURE,
error: err.response.data,
});
}
}
function followAPI() {
return axios.post('/api/follow');
}
function* follow(action) {
try {
// const result = yield call(followAPI);
yield delay(1000);
yield put({
type: FOLLOW_SUCCESS,
data: action.data,
});
} catch (err) {
console.error(err);
yield put({
type: FOLLOW_FAILURE,
error: err.response.data,
});
}
}
function unfollowAPI() {
return axios.post('/api/unfollow');
}
function* unfollow(action) {
try {
// const result = yield call(unfollowAPI);
yield delay(1000);
yield put({
type: UNFOLLOW_SUCCESS,
data: action.data,
});
} catch (err) {
console.error(err);
yield put({
type: UNFOLLOW_FAILURE,
error: err.response.data,
});
}
}
function* watchFollow() {
yield takeLatest(FOLLOW_REQUEST, follow);
}
function* watchUnfollow() {
yield takeLatest(UNFOLLOW_REQUEST, unfollow);
}
function* watchLogIn() {
yield takeLatest(LOG_IN_REQUEST, logIn);
}
function* watchLogOut() {
yield takeLatest(LOG_OUT_REQUEST, logOut);
}
function* watchSignUp() {
yield takeLatest(SIGN_UP_REQUEST, signUp);
}
export default function* userSaga() {
yield all([
fork(watchFollow),
fork(watchUnfollow),
fork(watchLogIn),
fork(watchLogOut),
fork(watchSignUp),
]);
}
여기 network를 보시면 아예 응답 자체가 넘어가지 않고 있는 모습을 확인할 수 있습니다. post가 안되면 post실패다 뭐가 status가 나와야 하는데 아무리 가입하기를 눌러도 그런 모습은 확인할 수 없습니다.
켜져 있는데 도대체 왜그럴까여ㅛ ㅠㅠ