๋๊ธ ์ถ๊ฐ๋ฅผ ์ํ API ์์ฒญ ์ Authorization ์ ์ด๋ค์ง์ง์๋ ๋ฌธ์ ๊ฐ ์์์
- Token์ ๋ฐ์์์ JSON.parse ๋ฅผ ํด์ฃผ์ง์์์ ์๊ธฐ๋ ๋ฌธ์ ์๊ณ , utils์ API ๋ก์ง ์์ ์ ํตํด ํด๊ฒฐํจ
๋๊ธ ์ถ๊ฐ๋ ๋๋ ํ๋ฉด์ ๋ ๋๋ง ์ ์๋ก๊ณ ์นจ์ ํด์ผ๋ง ์ ์ฉ๋๋ ๋ฌธ์ ๊ฐ ์์์
- useEffect๋ก ๋๊ธ์ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ํ์ฌ ๋ณ๊ฒฝ ๋ ๋๋ง๋ค API๋ฅผ ๋ฐ์์ค๊ฒํ์๋๋ฐ useState๋ ํจ๊ป ์ฌ์ฉํ๋ค๋ณด๋ ๋ฌดํํ API๋ฅผ ๋ฐ์์ค๋ ์ด์ ๋ฐ์
- ๋๊ธ ๋ฆฌ์คํธ๋ฅผ ๋ฐ์์ค๋ API์ ๊ฒฝ์ฐ useEffect์ ๋๋ฒ์งธ ์ธ์๋ก []๋ฅผ ๋ฃ์ด์ฃผ์ด ์ฒ์ ๋ ๋๋ง ๋ ํ ํ๋ฒ๋ง ๋ฐ์์ค๊ฒํ๊ณ , ์ดํ ์ถ๊ฐ๋๋ ๋๊ธ์ ๊ฒฝ์ฐ useState๋ฅผ ์ด์ฉํด ๊ด๋ฆฌํด์ฃผ๋ ๋ณ๊ฒฝ ๋ถ๋ถ๋ง ๋ ๋๋ง ๊ฐ๋ฅ
get์ด๋ put์ ์ด์ฉํ๋ฉด body๋ก request๋ฅผ ๋ฐ์์ฌ์ ์์ง๋ง delete๋ ๋ชป๋ฐ์์ด!!
- post ์์ฒญ์ผ๋ก ๋๊ธ์ ์์ฑํ ๋์ delete ์์ฒญ์ผ๋ก ๋๊ธ์ ์ญ์ ํ ๋, ํ ํฐ์ ์ด์ฉํ ์ธ์ฆ ๊ณผ์ ์ ๊ฑฐ์ณ์ผํ๋ค
- ๋๊ธ ์์ฑ์ ์ ํด๊ฒฐํ๊ณ ์ญ์ ๋ ๋๊ฐ์ ๋ก์ง์ผ๋ก ์์ฑํ๋๋ฐ ๊ณ์ ํ ํฐ์ด ์๋์ด๊ฐ์ ์๋ฌ๊ฐ ์ ๊ฒผ๋ค...
- ์ด์ ๋ฅผ ๋ชฐ๋ผ์ ์ฐพ์๋ณด๋ ์ค ์๊ฒ๋ ์ฌ์ค Delete ๋ฉ์๋๋ ํค๋์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋, ์๋์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ณด๋ด์ฃผ์ด์ผํ๋ค...์ฆ Delete ๋ฉ์๋๋ params(๋งค๊ฐ๋ณ์)๊ฐ ํ์ํ๊ณ data๋ฅผ ๊ทธ๋๋ก ๋ณด๋ด๋ ๋ฐฉ์์ ํ์ฉํ์ง์๋๋ค
- api utils Auth ์์ ์ ํตํด ํด๊ฒฐ!!
// axios.delete(URL, {params: {foo: 'bar'}}) axios.delete(URL, { headers: { Authorization: authorizationToken }, data: { source: source } });
// post ์์ฒญ์ ์๋์ ๊ฐ์ ๋ฐฉ์ ๊ฐ๋ฅ axios.post(URL, { comment: newComment, postId: Id }, { headers: { Authorization: authorizationToken })
// utils Api.js ์์ export const Authorization = async (url, method, data) => { const { tokenId } = JSON.parse(sessionStorage.getItem('authUser')) return await axios({ url, method, headers: { Authorization: Bearer ${tokenId} }, data: data, }) .then((res) => res.data) .catch((e) => console.error(e)) }

useState๋ก ์ํ ๊ด๋ฆฌ ์ ์
๋ฐ์ดํธ ๊ด๋ จ ์ด์
- setValue์ ์๋ก์ด ๊ฐ์ ๋ฃ์ด value์ ๋ฃ์ด์ฃผ๋ ๊ณผ์ ์ ์งํ ์ค value๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ๋ฐ๋ก console์ ์ฐ์ด๋ดค๋๋ฐ ๊ณ์ initialValue๊ฐ ์ฐํ๋ค
- ๊ทธ๋์ ๊ฐ์ ์ ๋ชป๋ฐ์์ค๋๊ตฌ๋๋ผ๋ ์๊ฐ์ด ๋ค์ด ๊ฐ์ ์ฐ์ด๋ณด๋ ์ ๋ฐ์์ค๊ธดํ๋คโฆ
- ํ 2์๊ฐ ๋๊ฒ ๊ณ ๋ฏผํ๋ค๊ฐ ๊ธฐ๋1ํ์ ์กฐ์ธ์ ๊ตฌํ๊ณ , ๋ ๋๋ง ๊ด๋ จ ์๋ก์ด ์ฌ์ค์ ์๊ฒ ๋๋คโฆ
- ์ํ ์ ๋ฐ์ดํธ ์ setValue๋ฅผ ํ๋ฉด ์ ๋ฐ์ดํธ ๋๋๊ฒ ๋ง๊ธดํ๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ ๋ฐ๋ก ์๋ ์ค์ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ ๊ฒฝ์ฐ, ๊ทธ value๋ ์ด๋ฏธ ์ฒ์์ value๋ฅผ ์ ์ธํ๊ณ initialValue๊ฐ ํ ๋น๋์ด์๋ ์ํ์ด๋ค.
- ์ฆ ์์ง ๋ฆฌ๋ ๋๋ง์ด ์ผ์ด๋์ง์์ ์ํ!
- ๊ทธ๋์ ๊ทธ ๊ฐ์ ๊บผ๋ด์ ๋ ๋๋ ํ ๋ฐ๊นฅ์ชฝ์์ console์ ์ฐ์ด๋ณด๋ฉด ์ ๋๋ก ๊ฐ์ด ์ ๋ฐ์ดํธ ๋ ์ฌ์ค์ ํ์ธํ ์ ์๋คโฆ
- ์ฆ setValue๋ฅผ ์ด์ฉํด ๊ฐ์ ๋ฐ๋ก ํ ๋นํด์ค ๊ฒ์ด ์๋๋ผ ๊ทธ์ ์ ๋ฐ์ดํธ๋ง ํด์ค ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ฆฌ๋ ๋๋ง์ด ์ผ์ด๋๊ธฐ ์ ์๋ ๊ทธ ์ด์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ด๋คโฆ
- ๋ฐ์ดํฐ์ ํ๋ฆ์ด๋ ์ด๋ ต๋ค..์์ง ์๋ฒฝํ ๊ฒฐ๋ก ์ ๋ด๋ฆฌ์ง๋ ๋ชปํ๊ฒ ๋ค. ๊ณต๋ถํด๋ณด๊ณ ๋ค์ ์ ๋ฆฌํด๋ด์ผ๊ฒ ๋ค.