✅ fetch
✅ json
✅ stringify
✅ localStorage.setItem
✅Authorization
btnClick = (e) => {
if (e.target.name === 'siginup') {
fetch(`${API}/signup`, {
method: 'POST',
body: JSON.stringify({
email: this.state.userName,
password: this.state.userPw,
}),
})
.then((res) => res.json())
.then((result) => {
if (result.message === 'SUCCESS') {
alert('회원가입 성공');
} else {
alert('양식에 맞춰주세요');
}
});
}
if (e.target.name === 'siginin') {
fetch(`${API}/signin`, {
method: 'POST',
body: JSON.stringify({
account: this.state.userName,
password: this.state.userPw,
}),
})
.then((res) => res.json())
.then((result) => {
console.log(result);
if (result.Authorization) {
localStorage.setItem('token', result.Authorization);
}
if (result.message === 'SUCCESS') {
alert('로그인성공');
this.goToMain();
} else {
alert('탈락!');
}
});
}
};
회원가입 버튼을 누르면 페치함수에서 서버에게 요청하게된다. 요청할때, 서버에서 등록된 key값들을 작성하여 보낸다. 주요 정보들이니 POST로 보냈다.
JSON.stringfy
를 사용하게되면 JSON 문자열로 변환해준다. 그리고 then에서 요청한것을 받으면 res.json 을 통해 JSON 응답을 JSON형태로 파싱한다. 그리고 그 값들을 활용해 성공시 회원가입성공이라는 알람창을 띄워준다.
이러한 과정중에 res에서 console.log(res)을 찍어보면 잘들어왔는지 확인할 수있다.
실제 협업할때 이래서 의사소통의 중요성을 강조하는구나 라는 생각이들었다. 만약 협업이 잘이루어지지 않는다면, 서로 답답할 것 같다는 생각이 들었고 더욱더 협업하기위해서 노력해야 할거같다.