이번 프로젝트는 리덕스를 제외하고 리액트만으로 프로젝트를 해보기로 했었다.
프로젝트 종료가 2일 남은 시점에서 props 지옥을 맛보면서 리덕스의 중요성을 알게되었다.
작은 프로젝트라서 리덕스가 비효율적일 것이라고 판단했는데 판단이 잘못되었었다.
다음 프로젝트에는 꼭 리덕스로 작성해야겠다.
DB가 없는 서버와 통신했는데, 어제는 잘 되지 않았었다.
그래서 새벽 2시까지 작성하여 겨우 구현을 마치었다.
오늘 작성한 코드중 하나를 가져와봤다.
axios({
method: "post",
url: "http://exercisetoday.com/user/signup",
data: {
user_id: null,
user_email,
user_password,
user_name,
user_nickname,
user_gender,
user_mobile,
},
})
.then(res => {
if (res.data.message === "ok") {
setUserInfo(null);
history.push("/");
return;
} else if (res.data.message) {
setErrMessage(res.data.message);
}
})
.catch(err => console.log("signup err", err));
};
axios를 통해 회원가입을 post요청을 보내고, ok 메시지를 받으면 유저정보를 받았다가 state에서 유저 정보를 계속 가지고 있으지 않기 위해 유저 정보를 삭제하고, 만약 에러가 있으면 에러를 console창에 보여주는 코드이다.