1์ฐจ ํ๋ก์ ํธ์ธ H&M์ ํด๋ก ์ฝ๋ฉํ๋ฉด์ ๋ก๊ทธ์ธ๋ ์ ์ฅํ ํ ํฐ์ผ๋ก ์ฅ๋ฐ๊ตฌ๋๋ ์ฆ๊ฒจ์ฐพ๊ธฐ์ ์ ๊ทผ์ ํ ๋ ํ ํฐ์ด ํ์ํด์ ๊ทธ๊ฑฐ์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ ๋ก๊ทธ์ธ์ ํ๋ฉด์ ๋ฐ์์จ setItem( )
์ผ๋ก ํ ํฐ์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ ์ฅํ๋ค.
goToMain = () => {
const { email, password } = this.state;
fetch(API.signin, {
method: 'POST',
body: JSON.stringify({
email: email,
password: password,
}),
})
.then(res => res.json())
.then(res => {
console.log(res);
if (res.ACCESS_TOKEN) {
localStorage.setItem('token', res.ACCESS_TOKEN);
this.props.history.push('/');
} else if (!res.ACCESS_TOKEN) {
alert('์์ด๋, ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ธํด์ฃผ์ธ์');
}
});
};
์ฆ๊ฒจ์ฐพ๊ธฐ์ ๋ด๊ธฐ ์ํด์๋ ๋จผ์ ๋ก๊ทธ์ธ์ ํด์ผํ๋ค. ์ฆ ํ ํฐ์ด ํ์ํ๋ค.
๋ก๊ทธ์ธ์ ํ๋ฉด์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋ token์ ๋ค์ getItem( )
headers
์ ๋ด์ POST
ํด์ผ ํ๋ค.
componentDidMount() {
fetch(`${API.like}`, {
method: 'GET',
headers: {
Authorization: localStorage.getItem('token'),
},
})
.then(res => res.json())
.then(result => {
this.setState({
favoritesList: result,
});
});
}
์ฒ์์ ํ ํฐ์ ์ ์ฅํ ๋ ค๊ณ ํ์๋ ํ ํฐ์ด ๋ก์ปฌ์คํ ๋ฆฌ์ง์ ์ ์ฅ์ด ์๋์ด์ ์์๋ก ํ ํฐ ํ๊ฐ ๊ฐ์ headers
์ ์ ์ด๋๊ณ ํ์๋๋ฐ ์ด๋ ๊ฒ ํ๋ฉด ๋ก๊ทธ์ธ๊ณผ ํ์๊ฐ์
์ ํ๋ ์๋ฏธ๊ฐ ์์ด์ ธ์ ์ ์๋ ๊น ๊ณ ๋ฏผ์ ํด๋ณด๋ค ์ฝ์ก์ ์ฐ์ด๋ณด๋ ํ ํฐ์ด ACCESS_TOKEN
์ผ๋ก ์ฐํ๋๊ฑธ ์๊ฒ๋๊ณ ์ง๊ธ๊น์ง res.token
์ผ๋ก ํด์ ์๋ฌ๋๊ฑธ ํ์
ํ๊ฒ ๋์ด ์๋ํด ๋ณด๋ ๋ฐฑ์๋์ ์ฐ๊ฒฐ์ ์ฑ๊ณตํด ์์ด๋๋ณ๋ก ๋ค๋ฅธ ์ฆ์ฐพ๊ธฐ ํ๋ชฉ์ด ๋์์ ๊ธฐ๋ปค์๋ค. ํํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๋ง์๊ฑธ ๋ฐฐ์ด๊ฑฐ ๊ฐ์ ์ข์ ์๊ฐ์ด์๋๊ฑฐ ๊ฐ๋ค.