๐ ๋ฐฐ๊ฒฝ ๋ฐ ๊ถ๊ธ์ฆ
์ค๋ ๋์จ ์ด์์ ๋ํด์ ์ข ๋ ๊ฒํ ํด๋ณด๊ณ ์ ์ด ๊ธ์ ์ฐ๊ฒ ๋๋ค,
์ค๋์ ์ด์๋ ๋ฌด์์ด์๋๋ฉด,
Like
๋ฅผ ํ ๋, ๋๊ด์ ์
๋ฐ์ดํธ๋ฅผ ํ์์๋ ๋ถ๊ตฌํ๊ณ ์ ๋๋ก Like
API๊ฐ ์์ ์ปดํฌ๋ํธ์์ ํธ์ถ๋์ง ์์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ์ด์๋ค.๋ฐ๋ผ์ ๊ฐ์ฅ ํฐ ์์ธ์ ๋ถ๋ชจ ์ปดํฌ๋ํธ์ ๋ฆฌ๋ ๋๋ง์ด ๋์ง ์์๋ ํ์์ด๋ค.
์ด๋ฅผ ๋ฐ์์ setPost(
LikeAPI
)๋ฅผ ํตํด ํด๊ฒฐํ์ง๋ง, ๊ฒฐ๊ตญ ๋ฆฌ๋ ๋๋ง ๋ฌธ์ ์ ๋ํด์ ๋ค์ ์ดํด ๋ณด์์ผ ํ ํ์์ฑ์ด ์์ด ์ฐพ๊ฒ ๋์๋ค.๐ข ๋ฆฌ๋ ๋๋ง์ ์กฐ๊ฑด
state ๋ณ๊ฒฝ์ด ์์ ๋
- react ์์ ์ ๋์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์ state ๋ผ๋ ๊ฒ์ ์ด์ฉํ๋ค. ์ด๋ state ๊ฐ์ ๋ฐ๊ฟ์ฃผ๊ธฐ ์ํด์๋ state ๋ฅผ ์ง์ ์กฐ์ํด์๋ ์๋๊ณ setState() ๋ฉ์๋๋ฅผ ์ด์ฉํด ์ฃผ์ด์ผํ๋ค. ์๋ํ๋ฉด ๋ฆฌ์กํธ๋ state ์ ๋ณ๊ฒฝ์ด ๊ฐ์ง๋๋ฉด ๋ฆฌ๋ ๋๋ง์ ํด์ฃผ๋ ๋ฐ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ง์ ๋ฐ๊ฟ์ฃผ๊ฒ ๋๋ฉด ๋ฆฌ์กํธ๊ฐ state ์ ๋ณ๊ฒฝ์ ๊ฐ์งํ์ง ๋ชปํ๊ฒ ๋๋ค.
์๋ก์ด props์ด ๋ค์ด์ฌ ๋
- ์ ๋ฌ๋ฐ์ props ๊ฐ์ด ์ ๋ฐ์ดํธ ๋ฌ๋ค๋ฉด ๋ฆฌ ๋ ๋๋ง ๋๋ค.
๋ถ๋ชจ ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง ๋ ๋
- ์๋ก์ด prop ์ด ๋ค์ด์ค์ง ์๋๋ผ๊ณ ๋ถ๋ชจ์ปดํฌ๋ํธ๊ฐ ๋ฆฌ๋ ๋๋ง ๋๋ค๋ฉด ์์์ปดํฌ๋ํธ ์ญ์ ๋ฆฌ๋ ๋๋ง์ด ๋๋ค.
shouldComponentUpdate์์ true๊ฐ ๋ฐํ๋ ๋
- ๊ฐ๊ฐ์ ์ปดํฌ๋ํธ๋ shouldComponentUpdate ๋ผ๋ ๋ฉ์๋๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ ์ด๋ state๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ์๋ก์ด props๋ฅผ ์ ๋ฌ๋ฐ๋๊ฒฝ์ฐ ์คํ์ด ๋๋ค ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก return ๊ฐ์ true ๊ฐ ๋์ด rendering ์ด ์์๋์ง๋ง rerendering ์ด ํ์ํ์ง ์์ ๋ถ๋ถ์ด๋ผ๋ฉด ๊ฐ๋ฐ์๊ฐ return value ๋ฅผ false ๊ฐ์ผ๋ก ์ง์ ํจ์ผ๋ก์จ ๋ฆฌ๋ ๋๋ง ๋๋ ์ํฉ์ ๋ง์์ค์ ์๊ฒ๋๋ค.
forceUpdate๊ฐ ์คํ๋ ๋
- props ๋ state ๊ฐ ์๋ ๋ค๋ฅธ ๊ฐ์ด ๋ณ๊ฒฝ๋์์ ๋ ๋ฆฌ๋ ๋๋ง์ ํ๊ณ ์ถ๋ค๋ฉด ๊ทธ๋ ์ฌ์ฉํ ์ ์๋ ๋ฉ์๋ ์ด๋ค.