Key Ponint ๐ก Hook์ ์ฅ์ ์ ๋ก์ง์ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ณ ๊ด๋ฆฌ๊ฐ ์ฝ๋ค.
Key Ponint ๐ก ๋ผ์ดํ ์ฌ์ดํด์ ์ฐจ์ด
Key Ponint ๐ก ํ์ ์ปดํฌ๋ํธ๊ฐ ๊น์ด์ง๋ ๋ฐ์ํ๋ค.
Key Ponint ๐ก ํ์ ์ปดํฌ๋ํธ๋ก useRef๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด์ ์ฌ์ฉ๋๋ค.
ํ์ ์ปดํฌ๋ํธ๋ฅผ forewardRef๋ก ๊ฐ์ธ์ค๋ค, props, ref ์ ๊ฐ์ด useRef๋ฅผ ๋ฐ์ ์ ์๊ฒ ๋๋ค.
Key Ponint ๐ก ๊ณ ์ฐจ ์ปดํฌ๋ํธ(HOC, Higher Order Component)๋ ์ปดํฌ๋ํธ ๋ก์ง์ ์ฌ์ฌ์ฉํ๊ธฐ ์ํ React์ ๊ณ ๊ธ ๊ธฐ์ ์ด๋ค.
const EnhancedComponent = higherOrderComponent(WrappedComponent);
๋ฆฌ์กํธ ๊ณต์๋ฌธ์์์๋ ํก๋จ ๊ด์ฌ์ฌ(Cross-Cutting Concerns) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ฐ์ธ๋ค๊ณ ์ธ๊ธ์ด ๋์ด ์๋ค.
๊ณต์ ๋ฌธ์์์๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ Hooks๋ก ๋์ฒด ๊ฐ๋ฅํ๋ค๊ณ ๋งํฉ๋๋ค.
ํด๋์ค ์ปดํฌ๋ํธ๋ก๋ง ๊ฐ๋ฐํด์ผ ํ์ ๋, ์ฃผ๋ก ๊ณ ์ฐจ ์ปดํฌ๋ํธ๋ ์๋ช ์ฃผ๊ธฐ์ ์ข ์์ ์ด์ง ์์ผ๋ฉด์ ์ค๋ณต๋ ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ์ํด์ ์ฌ์ฉํ์ต๋๋ค. ๊ทธ๋ฌ๋ค๋ณด๋ HOC๊ฐ ๋ฐํํ๋ ์ค๋ณต๋๋ ์ปดํฌ๋ํธ ๋ ์ด์ด๋ค์ด ์์ด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
ํ์ง๋ง Hooks๊ฐ ๋ฆด๋ฆฌ์ฆ๋๋ฉด์ ์๋ช ์ฃผ๊ธฐ๊ฐ ๋จ์ํ ๋์๊ณ , ๊ณตํต์ ์ฝ๋ ๋ถ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ์๋ custom hook์ ์ฌ์ฉํ๋ฉด ํด๊ฒฐ ํ ์ ์๊ฒ ๋์์ต๋๋ค. custom hooks๋ฅผ ์ฌ์ฉํ๋ฉด ์ปดํฌ๋ํธ๊ฐ ์ค์ฒฉ ๋์ง ์์์ hoc์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์ ์์ต๋๋ค.
๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ ๋ฆฌํด๋ณด์๋ฉด,
Key Ponint ๐ก REST API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค์ผ ใ ฃํฌ๊ธฐ๊ฐ ์๋ฒ์์ ๊ฒฐ์ ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ์๋ฒ์์ ์ด๋ค ์์์ ์ฌ์ฉํ ์ ์๋์ง๋ฅผ ์ ์ํ๊ณ , ํด๋ผ์ด์ธํธ์์ ๋๋๋ง์ด ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ ๋ฐฉ์์ด๋ค.