Component โ
๐ React ๊ณต์ ๋ฌธ์ - Component
์ปดํฌ๋ํธ ๋ถ๋ฆฌ ๊ธฐ์ค โ
์ฌ์ฌ์ฉ์ฑ (Reusability)
์ฌ๋ฌ ๊ณณ์์ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋๋ UI ์์๋ ์ปดํฌ๋ํธ๋ก ๋ถ๋ฆฌํ์ฌ ์ฌ์ฌ์ฉ์ฑ์ ๋์ธ๋ค.๊ฐ๋ ์ฑ (Readability)
ํฐ ์ปดํฌ๋ํธ๋ฅผ ์๊ณ ๋ ๋ฆฝ์ ์ธ ๋จ์๋ก ๋๋ ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ๋ ๋ช ํํ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ ๋ค.๋จ์ผ ์ฑ ์ ์์น (SRP: Single Responsibility Principle)
ํ๋์ ์ปดํฌ๋ํธ๋ ํ๋์ ์ญํ ๋ง ๋ด๋นํด์ผ ํ๋ฉฐ, ์ด๋ฅผ ํตํด ์ ์ง๋ณด์์ฑ๊ณผ ํ ์คํธ ์ฉ์ด์ฑ์ ํฅ์์ํจ๋ค.
์ถ๊ฐ์ ์ผ๋ก ๊ณ ๋ คํ ์ ์๋ ๊ธฐ์ค,
๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ (Separation of Concerns)
๋ฐ์ดํฐ ์ฒ๋ฆฌ, ์คํ์ผ๋ง, ๋ทฐ ๋ก์ง์ด ํ ์ปดํผ๋ํธ์ ์์ด์ง ์๋๋ก ๋๋๋ค.ํ์ผ ํฌ๊ธฐ์ ๊น์ด ์ ํ
ํ๋์ ํ์ผ์ด ๋๋ฌด ๊ธธ๊ฑฐ๋ ์ค์ฒฉ ๊ตฌ์กฐ๊ฐ ๊น์ด์ง ๊ฒฝ์ฐ, ์ปดํฌ๋ํธ ๋ถ๋ฆฌ ์์ ์ ๊ณ ๋ คํ๋ค.์๋ ๊ธฐ๋ฐ ๋ถ๋ฆฌ
ํ๋ฉด์์ ์์น๋ณด๋ค๋, โ๋ฌด์์ ํ๋๊ฐโ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ปดํฌ๋ํธ๋ฅผ ๋๋๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค.
์ปดํฌ๋ํธ ์์ฑ ๋ฐฉ๋ฒ โ
๐ก React ๊ณต์ ๊ฐ์ด๋
๐ React docs
We recommend defining components as functions instead of classes.
๋ฆฌ์กํธ ์ปดํฌ๋ํธ ๋ง๋๋ ๋ฐฉ๋ฒ์ ํจ์ํ ์ปดํฌ๋ํธ
์ ํด๋์คํ ์ปดํฌ๋ํธ
ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์๋ค.
๊ณต์ ๋ฌธ์์์๋ ํจ์ํ ์ปดํฌ๋ํธ
์ Hook
์ ์ฌ์ฉํ๋ ๋ฐฉ์์ ๊ถ์ฅํ๋ค.
ํจ์ํ ์ปดํฌ๋ํธ๋ฅผ ๊ถ์ฅํ๋ ์ด์ ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ฝ๊ณ , ์ฑ๋ฅ๋ฉด์์ ์ ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
ํจ์ํ ์ปดํฌ๋ํธ๋ฅผ ๊ถ์ฅํ๋ ์ด์ โ
- ์์ฑ์ด ๊ฐ๋จํ๊ณ , ์ฝ๋๊ฐ ์ง๊ด์ ์ด๋ค.
- React Hook์ ํ์ฉํ์ฌ ์ํ ๊ด๋ฆฌ์ ์๋ช ์ฃผ๊ธฐ ์ฒ๋ฆฌ๊ฐ ์ฌ์์ง๋ค.
- ์ต์ ํ์ ์ฑ๋ฅ ๋ฉด์์ ์ ๋ฆฌํ๋ค.