๋ฌธ์ ์ํฉ
- ํ ํ์ด์ง ์ปดํฌ๋ํธ์
useState, useEffect๊ฐ ๋๋ฆฝํ๊ณ ๋ฐ์ดํฐ ํ์นญ/์ํ ํ์/์ด๋ฒคํธ ์ฒ๋ฆฌ ๋ก์ง์ด ๋ค์์ฌ UI ์ฝ๋์ ๊ฐ๋
์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ด ์ ํ๋จ.
- ๋์ผยท์ ์ฌ ๋ก์ง์ด ์ฌ๋ฌ ๊ณณ์์ ๋ฐ๋ณต๋์ด ๋ฒ๊ทธ ์์ ๊ณผ ๊ธฐ๋ฅ ํ์ฅ์ด ๋นํจ์จ์ ์.
ํ๊ฒฝ
- ํ๋ก์ ํธ: React ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์
- ์คํ: React, TypeScript, (Next.js ์ฌ์ฉ ํ๊ฒฝ์์๋ ๋์ผ ์์น ์ ์ฉ ๊ฐ๋ฅ)
์ฆ์/์ฝ๋ ๋์
๊ธด useEffect ์ฒด์ธ, ๋ณต์กํ ์์กด์ฑ ๋ฐฐ์ด, ๋ฐ์ดํฐ ํ์นญ ์ค๋ณต, ํ์ ์ํ ๊ณ์ฐ์ด UI ๋ ์ด์ด์ ๊ฒฐํฉ
ํ
์คํธ ์ด๋ ค์(๋น์ฆ๋์ค ๋ก์ง์ด ์ปดํฌ๋ํธ ์๋ช
์ฃผ๊ธฐ์ ๊ฐ๊ฒฐํฉ), ์ฌ์ฌ์ฉ์ฑ ๋ฎ์
์์ธ ๋ถ์
- ๊ด์ฌ์ฌ ๋ถ๋ฆฌ(๋ฐ์ดํฐ/๋น์ฆ๋์ค vs. ํํ/UI)๊ฐ ์ด๋ค์ง์ง ์์ ์ปดํฌ๋ํธ๊ฐ ๊ณผ๋ํ ์ฑ
์์ ๊ฐ์ง.
- ๋น๋๊ธฐ ํ์นญยท์๋ฌยท๋ก๋ฉยทํ์ ์ํ ๊ณ์ฐ์ด ์ปดํฌ๋ํธ ๊ณณ๊ณณ์ ์ฐ์ฌํ๋ฉฐ ์์กด์ฑ ๊ด๋ฆฌ์ ์ฌ์ด๋์ดํํธ ์ ์ด๊ฐ ์ด๋ ค์.
ํด๊ฒฐ ๋ฐฉ๋ฒ
- ์ถ์ถ ๊ธฐ์ค ์ ์
- ๋ฐ์ดํฐ ํ์นญ, ํ์ ์ํ ๊ณ์ฐ, ํผ/์ํ ์ ์ด ๋ก์ง์ ์ฐ์ ์ถ์ถ ๋์๋ก ์ ์ .
- ์ปดํฌ๋ํธ๋ DOMยท์คํ์ผยท์ด๋ฒคํธ ๋ฐ์ธ๋ฉ ๋ฑ ํํ ๋ก์ง์ ์ง์คํ๋๋ก ์ญํ ์ถ์.
- Custom Hook ์ค๊ณ
- ์
๋ ฅ: ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ/์ด๊น๊ฐ/์ต์
(๋๋ฐ์ด์ค, ์บ์ฑ ํค ๋ฑ).
- ์ถ๋ ฅ: ๋ฐ์ดํฐ, ๋ก๋ฉ/์๋ฌ, ํ์ ์ํ, ์ก์
ํธ๋ค๋ฌ(๋ฆฌํ๋ ์/๋ฎคํ
์ด์
๋ฑ).
- ๊ณ์ฝ(์
์ถ๋ ฅ ํ์
)์ ๋ช
ํํ ํ์ฌ ํธ์ถํ๋ ์ปดํฌ๋ํธ๊ฐ ์ฝ๊ฒ ์ฌ์ฉํ๋๋ก ์ค๊ณ.
- ๋ถ์์ฉ ๊ด๋ฆฌ ๊ฐํ
- ์์ฒญ ์ทจ์(AbortController)๋ก ๊ฒฝ์ ์ํ(race) ๋ฐฉ์ง, ์์กด์ฑ ๋ณ๊ฒฝ ์ ์ ๋ฆฌ(cleanup) ์ฒ ์ .
- ์๋ฌ ๋ถ๋ฅ(๋คํธ์ํฌ/๊ฒ์ฆ/์๋ฒ) ๋ฐ ์ฌ์๋/๋ฐฑ์คํ ์ ์ฑ
์ต์
ํ.
- ์ฑ๋ฅ/๊ฒฝํ ๊ฐ์
- ๋๋ฐ์ด์ค/์ค๋กํ, ๊ฒฐ๊ณผ ์บ์ฑ(ํค ๊ธฐ๋ฐ ๋ฉ๋ชจ์ด์ ์ด์
) ์ ์ฉ.
- ๋ถํ์ํ ์ฌ๋ ๋๋ฅผ ์ค์ด๊ธฐ ์ํด ๋ฐํ ๊ฐ์ฒด๋
useMemo, ์ฝ๋ฐฑ์ useCallback์ผ๋ก ์์ ํ.
- ํ์ดํ/ํ
์คํธ
- ์ ๋ค๋ฆญ ํ์
์ผ๋ก ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ํํ, ์ค๋ฅ ์ ํ ํ์
๋ช
์.
- ํ
๋จ์ ํ
์คํธ๋ก ํ์นญ ์ฑ๊ณต/์คํจ, ์์กด์ฑ ๋ณ๊ฒฝ, ์ก์
ํธ์ถ ์๋๋ฆฌ์ค ๊ฒ์ฆ.
- ์ปดํฌ๋ํธ ๋จ์ํ
- ์ปดํฌ๋ํธ๋ ํ
์ ํธ์ถํด ๊ฐ๊ณผ ํธ๋ค๋ฌ๋ง ๋ฐ์ UI๋ฅผ ๋ ๋.
๊ฒ์ฆ
- ํ์ด์ง ์ปดํฌ๋ํธ LOC ๊ฐ์, ๋ก์ง ์์ง๋ ์ฆ๊ฐ, UI/๋น์ฆ๋์ค ์ฝ๋ ๋ถ๋ฆฌ๊ฐ ๋ช
ํํด์ง.
- ๋์ผ ํ
์ ๋ค์ ํ๋ฉด์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํด ์์ ๋น์ฉ ๊ฐ์.
- ์์กด์ฑ ๋ณ๊ฒฝ ์ ์ฌํ์นญยท์บ์ฑ ๋์์ด ๊ธฐ๋๋๋ก ์ํ๋๋์ง ํ
์คํธ ํต๊ณผ.
๋ฐฐ์ด ์
- ๊ด์ฌ์ฌ ๋ถ๋ฆฌ๋ฅผ ํตํด ์ปดํฌ๋ํธ๋ UI์ ์ง์คํ๊ณ , ๋น์ฆ๋์ค ๋ก์ง์ ํ
์ผ๋ก ํ์คํํ ์ ์์.
- ๋ช
ํํ ๊ณ์ฝ(์
์ถ๋ ฅ ํ์
)๊ณผ ๋ถ์์ฉ ์ ์ด๊ฐ ๋ฆฌํฉํ ๋ง ์ดํ์ ์์ ์ฑ์ ๋ด๋ณดํจ.
- ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํ
์ ํฅํ ๊ธฐ๋ฅ ํ์ฅ๊ณผ ์ฑ๋ฅ ์ต์ ํ์ ๊ธฐ๋ฐ์ด ๋จ.
์ฐธ๊ณ
- React ๊ณต์ ๋ฌธ์: Hooks, Custom Hooks ๋ฒ ์คํธ ํ๋ํฐ์ค