๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ฅผ ์ฒ์ ํ์ตํ ๋, ์ปดํฌ๋ํธ๋ "๋๋ง์ ํ๊ทธ"๋ผ๊ณ ์ ์ํ๋ ๊ธฐ์ต์ด ๋๋ค. ์ข ๋ ๋ช ํํ๊ฒ ์ปดํฌ๋ํธ๋ props๋ฅผ ์ธํ์ผ๋ก ๋ฐ์ DOM์ ๋ ๋ํ๋, JSX๋ฅผ ๋ฆฌํดํ๋ ๋จ์(ํจ์, ํน์ ํด๋์ค)์ด๋ค. ์กฐ๊ธ ์คํด์ ์์ง๋ ์์ง๋ง ๋จ์ํ๊ฒ๋ (์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๊ฐ
๋ฆฌ์กํธ์์ ๋ฐ์ดํฐ๋ state์ props๋ก ๊ด๋ฆฌ๋๋ฉฐ, topdown ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค๋ ์ ์ ๋ฆฌ์กํธ๋ฅผ ๊ณต๋ถํ๋ ์ฌ๋๋ค์ด๋ผ๋ฉด ์ตํ ์๊ณ ์๋ ์ฌ์ค์ด๋ค. ์ด๋ฌํ ๋ฆฌ์กํธ์ ๋จ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ ๋๋ฌธ์ ์ปดํฌ๋ํธ์ ๊น์ด๊ฐ ๊น์ด์ง๋ฉด props drilling์ด๋ผ๋ ๋ฌธ์ ๊ฐ
๋ณธ๋ useMemo์ useCallback์ ๋ ๋๋ง ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํ ํ ๋ค์ด๋ค. ํนํ ๋ณต์กํ ๊ณ์ฐ์ด๋ ๋ก์ง์ด ์๋ฐ๋๋ ๊ฐ, ๋๋ ํจ์๊ฐ ์๋๋ผ๋ฉด ๊ตณ์ด ์ฌ์ฉํ ํ์๊ฐ ์๋ค. ๊ทธ๋ฌ๋ ์กฐ๊ธ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก useMemo์ useCallback์ ์ ๊ทผํด๋ณผ ์ ์์ง ์์๊น?