๐ฉ๐ป๐ป Today I Learned ๐
โญ ๋๊ธ๊ตฌํ์ ํํญํ
๋๊ธ, ๋๋๊ธ์ ๋ฆฌ์กํธ ๋์์ useState๋ง์ ์ด์ฉํ ๊ตฌํ ํํญํ์ด ๋๋๊ณ ์์ธํ์ด์ง์ ๋ฑ์ฅํ๋ ๋ ๋ค๋ฅธ ๋ฒํผ. ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฒํผ ๊ตฌํ์์ ๋ ๋ค์ ๋ง์ ์๊ฐ์ ์ก์ ๋จน์๋ค. ์ด๋๊น์ง๋งํด๋ ๋๋๊ธ์ ๊ตฌํํด๋๋ค๋ ์์ ๊ฐ์ ๊ฐ๋ ์ฐจ์์๋๋ฐ, useState๋ก๋ ์ฆ๊ฒจ์ฐพ๊ธฐ๋ฅผ ๊ตฌํํ๋ค๊ฐ ์๋ก๊ณ ์นจ์ ํ๋ฉด ๋ด์ฉ์ด ์ ์ฅ๋์ง ์๊ณ ๋ชจ๋ ์ฌ๋ผ์ง๋ค๋๊ฑธ ๋ถํ๋ฏ ๊นจ๋ซ๊ณ ๐ต
์ค์๊ฐ์ผ๋ก ๋๋๋ง๋๋ ๊ฑธ ๊ตฌํํ๋ ค๋ฉด useEffect์ redux๊ฐ ํ์ํ๋ค. ๊ฒ๋ค๊ฐ ์ด ๋ ๋๊ธ์ด ๋ค์ด๊ฐ์๋ ๊ฒ์๊ธ ์์ธ ํ์ด์ง๋ฅผ ๋ค ๋๋๋งํ๋๊ฒ ์๋๋ผ ๋๊ธ๋ถ๋ถ๋ง ๋ฐ๋ก ๊ด๋ฆฌ๋ฅผ ํด์ ์ปดํฌ๋ํธ๋ฅผ ๋๋๋งํด์ค์ผํ๋ค๋๊ฑฐ!
๋๊ธ์ด๋ผ๋ ๊ฑธ ์ฒ์ ๊ตฌํํด๋ณด๋๊ฑฐ๋ผ์ ๋ง์์ด ๋ณต์กํ๋ค. ใ
…..
๋๊ธ๋ถ๋ถ๋ง redux๋ก ๋ฐ๋ก ๊ด๋ฆฌํด์ฃผ๋ฉด ๋์ง! ๋ผ๊ณ ์๊ฐ์ ํ๋ฉฐ initialState์ ๋ฐ๋ก comment ๋ผ๋ key๋ฅผ ๋ง๋ค์ด์ ๊ทธ ๊ณณ์ ๋ฐฐ์ด๋ก ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฃ์๋๋ฐ, ๊ทธ๋ฌ๋ฉด ์ด๋ค ํน์ ํฌ์คํธ์ ๋๊ธ์ ๋ฌ์๋ ๋ค๋ฅธ ํฌ์คํธ์ ๋๊ฐ์ด ๋ฌ๋ฆฐ๋ค…. ํ์ฐจ๋ก ๋ ๋ฉ๋ถ์ ๊ฒช๊ณ ๋์ ๊ธฐ์กด์ ๊ฒ์๊ธ ์์ธ ์ ๋ณด๋ฅผ ๋ด๋ post์ comments๋ผ๋ ๋ถ๋ถ์ ๊ทธ๋๋ก ๊ฐ์ ธ๋ค๊ฐ ๊ทธ ๊ณณ์ ์จ๋ ๋๋ค๋ ๊ฒ์ ์ด์ฐ์ด์ฐ ์๊ฒ ๋ผ์๋ค. (์ง์ง..๋ญ๋ ์๋ํด์ผํจ…๐ณ)
์๋ก ๋ค์ด์ค๋ ์ฝ๋ฉํธ ์ ๋ณด๋ ๊ฑฐ๊ธฐ๋ค ๋ฐ๋ก๋ฐ๋ก push ํด์ฃผ๊ณ ์ง์ฐ๋ฉด ๋๋ค! ๊ทธ๋ฌ๋ฉด ์๋ก๊ณ ์นจ ์์ด๋ ๋ฐ๋ก๋ฐ๋ก ๋๊ธ์ด ์์ฑ๋๊ณ ์ง์์ง๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋๋๊ธ๋ ๋๊ฐ์ด ์๋ํด๋ดค๋๋ฐ, ๋๋๊ธ์ ๋ถ๋ชจ๋๊ธ์ ์์ด๋๊ฐ์ด ํ์ํ ๊ฒ ๊ฐ๋คใ
์์ง ๊ตฌํ์ ๋ชปํ๊ณ ๊ณ์ํด์ ๋ก์ง์ ์๊ฐํ๊ณ ์๋ค.
โญ ์ด์ ํ๋ก์ ํธ์์๋ ํญ์ ์ ๋ฅผ ๋จน์๋ ๋ถ๋ถ์ด๋ค.
axios๋ฅผ ํตํด์ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์์ ๋์ ์ฌ๋ฆฌ๋๊ฑด ์ฝ๋ค. ๊ทธ ๋์ ๊ฐ์ ๋์์ ์ด๋ค ๋ฐ์ดํฐ ์ ๋ณด๊ฐ์ด ๋ณํ๋ค๋ฉด ๋ฐ๋ก ํ๋ฉด์์ ๋ณด์ด๋ ๊ฑด useState๋ฅผ ์จ์ ๊ด๋ฆฌํด์ฃผ๋ฉด ๋๋ค. ํ์ง๋ง ์ ์ฅ์ด ๋์ง ์๋๋ค๋ ๊ฒ!
์ด ๋ถ๋ถ์ ์ ์ค๋ช
ํด ์ค ์ ์๋๊ฒ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฒํผ์ด๋ค. ํด์๋ ๋ชจ๋ ํ๋ก์ ํธ์์ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฒํผ์ด ๋ค์ด๊ฐ๋์ง๋ผ. ์ง์ง ์ด๋ฒ์ ํ ๋๋ ๋ชป ํ๋ฉด ๋๋ ๋ฉ์ฒญ์ด๋ค๋ผ๋ ์๊ฐ์ผ๋ก ์ฝ๋๋ฅผ ์จ๋ด๋ ค๊ฐ๋ค.
๊ฒ์๋ฌผ์ ์์ธ ํ์ด์ง์์ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฒํผ์ด ๋์ํ๋ค. ์์ธ ํ์ด์ง์ ๋ฐ๋ก ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฒํผ์ด ๋ค์ด๊ฐ์์ด์ ๋ฐ๋ก ์ปดํฌ๋ํธ๋ฅผ ๋นผ์ง ์๊ณ ๋ฐ๋ก ์์ฑํ๋ค. axios ํต์ ํด์ ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฆฌ๊ณ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฒํผ์ ์ปฌ๋ฌ๊ฐ ๋ณํ๋๊ฑด useState ๋ก ๊ด๋ฆฌ ํด์คฌ๋ค. ์์ฝ๊ฒ ๊ตฌํํ๊ฒ ๊ฐ์์ ์ญ์ ๋ฐ๋ณต์ ํ์ ์๋ํ๋ค๋ ์๊ฐ์ ํ๋ฉฐ ์คํํ๋๋ฐ ์๋๋ ๋ค๋ฅผ๊น … ์ฆ๊ฒจ์ฐพ๊ธฐ ์๊ฐ ๋์์ ์ฌ๋ผ๊ฐ์ง ์๋๊ฑฐ๋ค. ๋น์ฐํ์ง.. ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ฐฏ์๋ฅผ ํต์ ์์ ๋ฐ์์จ ๊ฐ์ผ๋ก ๋ฐ๋ก ๋ฃ์ด๋์ผ๋๊น.
๋์ธ ๋
ธ๋
ธ!
๋ฐฑ์๋ ๊ฐ๋ฐ์๋ถ๋ค์ด ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ฐฏ์๊น์ง ์น์ ํ๊ฒ ๋ค ๋ณด๋ด์ฃผ์๋๋ฐ, axiosํต์ ์ผ๋ก ๋ฐ์์จ ๊ฐ์ ๊ทธ๋๋ก ์จ๋ฒ๋ฆฌ๋ฉด ์ค๊ธฐ๊ฐ์ผ๋ก ๋์์ ๋ณํ๋ ๋ชจ์ต์ ๊ตฌํํ ์ ์๋ค. ์ด๊ฒ ์ญ์ useState๋ก ๊ด๋ฆฌํด์ค์ผํ๋ค. ํต์ ์ผ๋ก ๋ฐ์์ค๋ฉด ๋ฃ์ด๋๊ณ ํด๋ฆญ ๋์์ด ๋ค์ด๊ฐ์ ๋, +1 , -1 ์ด ๋๊ฒํด์ ์ค์๊ฐ์ผ๋กค ์ด๋ฃจ์ด์ง๋ ๊ฒ ์ฒ๋ผ ๋ง๋ค์ด์ค๋ค. ์ค์ ๋ก ํด๋ฆญํ๋ฉด ๋ณํ๋ ๋ฐ์ดํฐ๊ฐ์ ์๋ฒ๋ก ๋ณด๋ด์ง๋ค.