๋ฌ๋ถ ํ ํ๋ก์ ํธ์ ๋ํด ํ๊ณ ํ ๋ด์ฉ์ ๋๋ค. ์คํ๋ ์ค๋ฅ๊ฐ ์์ผ๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์ฉ!
๐ ๋ฌ๋ถ ํ๋ก์ ํธ์ ๋ํด ๋ ์ ์ ์๋ ๋งํฌ ๋ชจ์์ง
๋ฌ๋ถ ๋ ธ์ ํ์ด์ง
๋ฌ๋ถ ๊นํ๋ธ
๋ฌ๋ถ์ ๋ํ ์๊ฐ๋ ๊นํ๋ธ ๋๋ ๋ ธ์ ํ์ด์ง๋ฅผ ์ฐธ๊ณ ํด์ฃผ์๊ณ ์ด ํ๊ณ ์๋ ์ด๋ป๊ฒ ๋ฌธ์ํ๋ฅผ ํ๊ณ ์ด๋ป๊ฒ ํ๋ก์ ํธ๋ฅผ ์งํํ๋์ง์ ๋ํด ๋ด์์ต๋๋ค. ์ด๋ฒ ํ๋ก์ ํธ์์ ์ฒ์์ผ๋ก ํ์ฅ์ ๋งก์๊ณ ์งํ ์์ ๋ฌธ์ํ ํ๋ ๊ฒ์ ๋ ธ๋ ฅ์ ๋ง์ด ์์์ต๋๋ค.
ํ๋ก์ ํธ์์ ํ์ฅ์ ๋งก์ผ๋ฉด์ ๊ฐ์ฅ ์ ๊ฒฝ์ผ๋ ๋ถ๋ถ์ ์ผ์ ๊ด๋ฆฌ์ ๋๋ค. ์ค์ ๋ก ์์ ์ ํ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๊ธฐํ ์๊ธฐ์ ๊ตฌํํ๊ณ ์ ํ๋ ๋ถ๋ถ๋ค์ ํ๋ก์ ํธ๊ฐ ๋๋๋ ์๊ธฐ์ ๋ฐ๋ ๊ตฌํํ์ง ๋ชปํ์๊ธฐ ๋๋ฌธ์ ์ด๋ฒ์ ๋์ฑ ์ผ์ ๊ด๋ฆฌ์ ์ ๊ฒฝ์ ์ผ์ต๋๋ค.
์์ ๋ฌ๋ ฅ์์ ๋ณผ ์ ์๋ฏ์ด ๋งค์ผ ํ๋ก์ ํธ์ ์งํ๊ณผ์ ์ ๊ธฐ๋กํ์์ต๋๋ค. ๋ชจ๋ ๋ฌธ์๋ ๋ ธ์ ์์ ํ์ธํ ์ ์์ต๋๋ค.
๋งค์ผ ํ์์ ์คํฌ๋ผ์ ์งํํ์ฌ ํ๋ก์ ํธ ๊ธฐํ๊ณผ ์ด๋ป๊ฒ ํ๋ก์ ํธ๊ฐ ์งํ๋๊ณ ์๊ณ ์ด๋ค ์ด์๊ฐ ๋ฐ์ํ์ผ๋ฉฐ ํด๊ฒฐ์ ํ์๋์ง๋ฅผ ๊ธฐ๋กํ์์ต๋๋ค.
๊ธฐํ ํ์์์๋ ์งํํ ๋ด์ฉ, ํ์๋ก, ๋ค์ ์ผ์ TODO์ ์ ํด์ ๋ฐ๋ก ์์ฑํ์๊ณ ์คํฌ๋ผ ํ์ ๋์๋ ์์/์ข ๋ฃ ์คํฌ๋ผ์ ์งํํ์์ต๋๋ค. ์์ ์คํฌ๋ผ ๋์๋ ๊ทธ๋ ์ ์๊ฑดํ์ธ, PRํ์ธ์ ์งํํ๊ณ ์ข ๋ฃ ์คํฌ๋ผ์๋ ์ค๋์ ์ด์, ์ง๋ฌธ, ์งํ์ ์ด๋ ค์ ๋ฑ์ ๊ณต์ ํ๋ ์๊ฐ์ ๊ฐ์ก์ต๋๋ค.
์ฒ์์๋ ์ด๋ฐ ๊ตฌ์กฐ๊ฐ ์กํ์ง ์์์ ๋ฌธ์๋ฅผ ์์ฑํ๋๋ฐ๋ 1~2์๊ฐ์ ๋์ ํฐ ์๊ฐ์ด ์์๋์์ต๋๋ค. ๋ค๋ฅธ ํ์๋ค์ด ์ด๋์ ๋ ์งํํ๋์ง, PR์ด ์ฌ๋ผ์๋์ง, ์ค๋์ ์๊ฑด์ ์ด๋ค๊ฒ ์ถ๊ฐ๋์๋์ง๋ฅผ ๋จผ์ ํ์ธํด์ ์ ๋ฆฌํด ๋์์ผ ํ๋ ์ . ๊ทธ๋ฆฌ๊ณ ์ง๊ธ ์ฐ๋ฆฌํ์ ์ด๋์ ๋ ์งํ์ด ๋์๋์ง, ์ด๋ค ๊ตฌํ์ฌํญ์ ๋ ํด์ผํ๋์ง๋ฅผ ํ์ ํด์ผํ์ต๋๋ค.
์ ํฌ๋ ์คํ๋ฆฐํธ ๊ธฐ๊ฐ์ 2~3์ผ๋ก ์ก์์ต๋๋ค. ๊ทธ ์ด์ ๋ ์ด ๊ฐ๋ฐ ๊ธฐ๊ฐ์ด 3์ฃผ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์งง๊ฒ ๊ธฐ๊ฐ์ ์ก์์ ๋ชฉํ์น์ ๊ตฌํ ์๊ตฌ์ฌํญ์ ์ค์ ํ๊ณ ๊ทธ ์์ ๋ชจ๋ ํด๊ฒฐํ ์ ์๋๋ก ์งํํ์์ต๋๋ค.
๊ทธ ์ ์คํ๋ฆฐํธ ๋์ ๋ชฉํ์น์์ ์ด๋์ ๋ ์งํํ๋์ง ํ์ธํ๊ณ ์๋ก์ด ๋ชฉํ๋ฅผ ์ค์ ํ๊ณ ์์ผ๋ก ์ด๋ค ๊ธฐ๋ฅ๋ค์ ๋ ๊ตฌํํด์ผ ํ๋์ง 3๊ฐ์ง๋ก ๋๋์ด ์์ฑํ์์ต๋๋ค. ๊ทธ๋ฌ๊ธฐ ๋๋ฌธ์ ์งํ์ฌํญ์ ํ๋ฒ์ ํ์ธํ ์ ์์๊ณ ๊ทธ๋ฌ๊ธฐ ๋๋ฌธ์ ๋ณด๋์ค ์๊ตฌ์ฌํญ, ์ฆ ์ฐ์ ์์๊ฐ ๋ฎ์ ๊ฒ์ ๊น๋ํ๊ฒ ํฌ๊ธฐํ ์ ์์์ต๋๋ค.
๊ตฌํ ์์๋ก๋ ๊ณตํต ์ปดํฌ๋ํธ๋ฅผ ๊ฐ๋ฐ, ๊ทธ ํ์๋ ๊ทธ ๊ณตํต ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํด์ ์ปดํฌ๋ํธ ๊ฐ๋ฐ, ๊ทธ ํ์๋ ์ปดํฌ๋ํธ์ ๋๋ฏธ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํด์ ๋จผ์ ๊ตฌํ, ๊ทธ๋ฆฌ๊ณ API ์ฐ๊ฒฐ, ๋ง์ง๋ง์ผ๋ก ๋์์ธ ์์ผ๋ก ์งํํ์์ต๋๋ค.
์ด๋ฒ ํ๋ก์ ํธ์์ ์ ๋ง๋ค์๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ์ ๋๋ค. ์๋ฌด๋๋ ๊ธฐํ ๋ ๋ชจ๋ ๋ถ๋ถ์ ์ ํ ์ ์์๊ธฐ ๋๋ฌธ์ ๋ํ๊ฐ ๋ง์ด ํ์ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ํ์ง ์์ ๋ถ๋ถ๋ค๋ ๋๊ธฐ์์ผ๋ก ๋ํํ๊ฒ ๋๋ ์ํฉ, ํ์๋ค๊ณผ ๊ฐ์ด ์์ํด ๋ณด๊ณ ์ถ์ ๋ถ๋ถ๋ค์ ๋ํด์ ์ด๋ป๊ฒ ํด๊ฒฐํ ๊น ํ๋ค๊ฐ ์๊ฑด ํ์ด์ง๋ฅผ ๋ง๋ค์์ต๋๋ค.
์๊ฑด์ด ์๊ธฐ๋ฉด ์ ์ด๋๊ณ ๋งค์ผ ์คํฌ๋ผ ๋ ํ์ธํ๊ณ ๋์ด๊ฐ ์ ์์๊ธฐ ๋๋ฌธ์ ๊น๋จน๋ ๊ฒฝ์ฐ๋ ์๊ณ ๋ค ๊ฐ์ด ํ์ธํ ์ ์์ด์ ์ข์์ต๋๋ค.
์ ํฌ๋ git-flow์ ๋ง์ถฐ์ ํ์ ์ ์งํํ์์ต๋๋ค. ๋ฐฐํฌ์ฉ main ๋ธ๋์น์ ๊ฐ๋ฐ์ฉ develop ๋ธ๋์น๋ฅผ ๋ง๋ค์์ต๋๋ค. ๋ํ develop์์ ๊ฐ์ ๋งก์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ ์ํด์ featuer ๋ธ๋์น๋ฅผ ๋ง๋ค์ด์ ์์ ํ์์ต๋๋ค.
๊ธฐ๋ฅ ๊ตฌํ ์ ์ ํญ์ ์ด์๋ฅผ ๋จผ์ ์์ฑํ์์ต๋๋ค. ์ด์ ํ ํ๋ฆฟ์ ์ด์ฉํ์ฌ ์์ฑํ ํ์ ์ด์ ๋ฒํธ๋ฅผ feature ๋ธ๋์น ๋ช ์ ๋ฃ์ด ๊ฐ๋ฐํ์์ต๋๋ค. ๋ํ ๊ฐ๋ฐ ํ PR์ ์์ฑํ ๋ ์ด์ ๋ฒํธ๋ฅผ ์ฐ๊ฒฐํ์ฌ ์ฝ๊ฒ ํ์ธ์ด ๊ฐ๋ฅํ๋๋ก ํ์์ต๋๋ค. ์ ํฌํ์์๋ ๊ผญ 2๋ช ์ด์์ด ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํ๊ณ approve ํ ์์ develop์ mergeํ ์ ์๋ ๊ท์น์ ์ ํ์ฌ ์งํํ์์ต๋๋ค.
ํ๋ก์ ํธ ์ด๊ธฐ ์ค์ ์ผ๋ก prettier
๊ณผ eslint
์ ๋ํด์ ํ์๋ค๊ณผ ์๊ธฐํ ๊ฒฐ๊ณผ ๋๋ฌด ๊น๊ฒ ๊ฐ์ ธ๊ฐ์ง ๋ง๊ณ eslint๋ ๊ธฐ๋ณธ ์ถ์ฒ eslint:recommended
์ prettier์ printWidth
100, singleQuote
๋ true ๋ฑ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ค๋ง ์ก๊ณ ์์ํ์์ต๋๋ค. ์๊ฐ์์ ์์ฑํ๋ ๊ฒ์ ์ด์ ์ ๋์๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒ ์ก์์ต๋๋ค.
ํด๋ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ธฐ๋ณธ ์ปดํฌ๋ํธ๋ค์ base, ๊ทธ๋ฆฌ๊ณ base์์ ๊ฐ์ ธ๋ค ์ฌ์ฉํ๋ ์ปดํฌ๋ํธ๋ค์ domain์ด๋ผ๋ ํด๋ ์ด๋ฆ์ผ๋ก ๋ง๋ค์๋๋ฐ ์ด ๋ถ๋ถ์ ์๋ชป๋ ํด๋ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ ๋ถ๋ถ์ธ ๊ฒ ๊ฐ๋ค๊ณ ํผ๋๋ฐฑ ๋ฐ์์ต๋๋ค.
๋ฉํ ๋์ domain์ด๋ผ๋ ํด๋ ์ด๋ฆ์ ๋๋ฉ์ธ ์ฑ๊ฒฉ์ ๋ํ๋ด๋ ํด๋๋ก ์์ฑํด์ผ ํ๋คํ์ จ์ต๋๋ค. ์ฒ์ ํด๋ ๊ตฌ์กฐ๋ฅผ ์ก์ ๋, base์ domain์ผ๋ก ๊ธฐ๋ฅ์ ๊ตฌ๋ถํ์ฌ ๋๋ ์ ์ฌ์ฉํ๊ณ ์ ํ์์ง๋ง ๊ณ์ ๊ฐ๋ฐ์ ํ๋ฉด์ ๊ธฐ์ค์ด ๋ชจํธํด์ก์ต๋๋ค. ๊ทธ๋ฅ flatํ๊ฒ component์์๋ค๊ฐ ๋ฃ์ด์ ๊ฐ๋ฐํํ๋ ๊ฒ๋ ํ๋์ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ๋ฉํ ๋๊ป์ ๋ง์ํด์ฃผ์ จ์ต๋๋ค.
ํด๋์ ์ด๋ฆ, ๊ตฌ๋ถ๋ ์ ์คํ๊ฒ ๋ง๋ค๊ณ ๊ตฌํํด์ผํ๋ค๋ ๊ฒ์ ๋ฐฐ์ฐ๊ฒ ๋์์ต๋๋ค.
react router v6๋ก router ์ค์ ํ๊ธฐ์ ์ ์๋ฏ์ด ์ด๊ธฐ์ ๋จผ์ ํ์ํ ํ์ด์ง๋ค๋ง ๋จผ์ route์ค์ ์ ํด์ฃผ์๋ค.
API๋ฅผ ํธํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด์ ๊ตฌ์กฐ๋ฅผ ์ ํด์ ๋ชจ๋ํ ํ์์ต๋๋ค. ์ค๊ฐ์ ์ด์๋ ์๊ฒผ์ง๋ง ์ํํ๊ฒ ํด๊ฒฐํ์ฌ ์งํํ์์ต๋๋ค.
API ๋ชจ๋ํ ๊ณผ์ ์์ ์ดํด๋ณผ ์ ์์ต๋๋ค.
์ค์ ๋ก ํํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ์ ๊ฐ ๋งก์ ๊ธฐ๋ฅ์ ๋๋ค. ๋ค๋ฅธ ํ์ด์ง๋ค๋ ์์ ์ ํ๊ธด ํ์์ง๋ง ์๋ฌด๋๋ ํ์๋ค์ด ๋งก์๋ ๋ถ๋ถ์ด๊ณ ๋ณด์ํด์ฃผ๋ ๋ฐฉํฅ์ผ๋ก ์งํํ๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ์ธ/ํ์๊ฐ์ ์ชฝ๋ง ๊ธฐ๋ฅ์ ๋งก์์ต๋๋ค. ๋ก๊ทธ์ธ์ ํ์์ ๋ ํ ํฐ์ ์ด๋์ ์ ์ฅํ ์ง, ์ ์ญ์ํ์์ ์ด๋ป๊ฒ ๊ด๋ฆฌ๋ฅผ ํ ์ง ๋ฑ์ ์๊ฐํ๋ฉด์ ๊ตฌํํ์์ต๋๋ค.
์ด ๋ถ๋ถ์์ formik
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์
ํด์ ์ฌ์ฉํด๋ณด์์ต๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ useFormik
์ด๋ผ๋ ํ
์ ์ฌ์ฉํ์ฌ validation, handleSubmit, handleChange๋ฑ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ์์ต๋๋ค. ์ฒ์์๋ ์ดํดํ๊ธฐ ์ด๋ ค์ ์ง๋ง ์ด๋์ ๋ ๊ฐ์ ์ก์ ์ ๋๋ก ๊ตฌํํด๋ณธ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ ์ง๋ง ์๋ฌด๋๋ formik
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋๋ก ์ฌ์ฉํด๋ณด์๋ค๋ ๋๋์ ๋ฐ์ง ๋ชปํ์ต๋๋ค. ๊ตฌํ์ ๊ธ๊ธํ๊ฒ ์ฌ์ฉํ์ฌ ๋ง์ ํ์ฉ์ ํ์ง ๋ชปํ๋ ๋ถ๋ถ์ด ์์ฌ์ ์ต๋๋ค.
์ญ์ ์ฐ๋ฆฌ ํ์์ ๊ฐ์ฅ ์ข์๋ ๋ถ๋ถ์ ์ํํ ์ํต์ด์ง ์์๊น ์ถ์ต๋๋ค. ๋ ธ์ , github, slack์ ํตํด์ ์๊ฑด์ ์ฌ์ฉ, ์คํฌ๋ผ, ์คํ๋ฆฐํธ ๋ฑ ๊พธ์คํ ํ์ํ๋ ์๊ฐ์ ๊ฐ์ก๊ณ ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ด๋ ค์์ด ์์ด๋ ๋น ๋ฅด๊ฒ ํด๊ฒฐํ ์ ์์์ต๋๋ค.
ํ๋ก์ ํธ ๋ง๊ฐ ๋น์ผ๊น์ง ๊ฐ๋ฐ์ ํ์ง ์๊ณ ๋ฐํ ํ๋ ์ ๋ ๋ฒ๊ทธ ์์ ๊น์ง ํ ์ ์๋๋ก ์ ํ๊ณผ ์ง์ค์ ํ๋ ๋ถ๋ถ์ด ์ข์์ต๋๋ค. ๊ธฐํ ์์ ๊ฐ๋ฅํ ์ง ๋ถ๊ฐ๋ฅํ ์ง ํ๋จํ์ฌ ๊ธฐ๋ฅ๋ณ ์ฐ์ ์ฌํญ์ ๋๋ ์ค์ํ ๋ถ๋ถ๋ถํฐ ๊ฐ๋ฐํ ๊ฒ์ด ์ข์์ต๋๋ค. ํ์ ๋ถ๋ค๊ป์๋ ์ด๋ฐ ์ํฉ์ ๋ง๊ฒ ์ ๊ฐ๋ฐํด์ฃผ์ ์ ํ๋ก์ ํธ๊ฐ ์ ๋ง๋ฌด๋ฆฌ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
api๋ฅผ ์ฒ์์๋ ๋ชจ๋ํ ํ์ง ์๊ณ ํธ์ถ ๋ง๋ค ํ ํฐ๋ ๋ฃ๊ณ ํค๋๊ฐ๋ ๋ฃ๊ณ ์งํํ๋ค๊ฐ ๋๋ฌด ๋ฐ๋ณต๋๋ ์ฝ๋๊ฐ ๋ง์์ก๊ธฐ ๋๋ฌธ์ ๋ชจ๋ํ๋ฅผ ๊ผญ ํ๋ฉด์ ์งํํด์ผ๊ฒ ๋ค๊ณ ์๊ฐ์ด ๋ค์์ต๋๋ค. ๋ํ context๋ ํ ํ์ผ ์์ reducer, initialState, action์ด ๋ชจ๋ ๋ค์ด๊ฐ ์์ด์ ์ด๋ค ์ญํ ์ ํ๋ ์ง๋ ์์ง๋ง ํ ๋์ ํ์ ํ๊ธฐ ํ๋ค์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ํ ์์ ์ด ๊ผญ ํ์ํ์ต๋๋ค.
context ๊ฐ์ ๊ฒฝ์ฐ๋ ๋ค๋ฅธ ํ์๋ถ๊ป์ ๋ง๋์ ๋ถ๋ถ์ด๋ผ ๊ฑด๋ค๊ธฐ๊ฐ ์กฐ๊ธ ์ด๋ ค์ ์ผ๋ ์์งํ๊ฒ ๋ง์ ๋๋ฆฌ๋ ํธํ๊ฒ ์์ ํ์ ๋ ๋๋ค๊ณ ํ์ ์ ๊ตฌ์กฐ๋ง ๋ณ๊ฒฝํ์์ต๋๋ค. ์ ๋ง ์ ๋ง๋ค์ด์ฃผ์ ์ ์ฝ๊ฒ ๋ถ๋ฆฌํ ์ ์์์ต๋๋ค. ๋ค์ ํ๋ก์ ํธ ๋์๋ ์ง์ context๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํด๋ณด๊ณ ์ถ์ต๋๋ค. context api ๋ฅผ ์ฌ์ฉํ ๋ ์์ฃผ ์์ ๋ถ๋ถ๋ provider๋ก ๊ฐ์ธ์ ๋ง๋ค๋ค๋๊ฐ, ์๋ฅผ ๋ค์ด ํ๋์ authProvider๋ฅผ ์ํ๋ฅผ ์ ๊ณตํ๋ context์ ์ํ๋ฅผ ์กฐ์ํ๋ context๋ก ๊ตฌ๋ถํด์ context์์ ์ด๋ป๊ฒ ์ฑ๋ฅ์ ๋์ด์ฌ๋ฆด์ง! ๋ฑ์ ์๊ฐํ๋ฉด์ ๊ตฌํํด๋ณด๊ณ ์ถ์ต๋๋ค.
์์๋ ์ํํ ์ํต์ด ๋งค์ฐ ์ข์๋ค๊ณ ์ ์์ง๋ง ์ค์ค๋ก ๋ฐ์ฑํ๋ ๋ถ๋ถ์ด ์์ต๋๋ค. ์ฌ์ค ํ๋ก์ ํธ๊ฐ ์ผ์ฃผ์ผ ์ฏค ์ง๋ฌ์ ๋ ํ์๋ถ๋ค๊ป ํ์ฅ์ผ๋ก์ ์ ๊ฐ ์ง๊ธ ์ํ๊ณ ์๋์ง, ๋ณด์ํด์ฃผ์์ผ๋ฉด ํ๋ ์ ์ด ์๋์ง ๋ฑ์ ๋ํด์ ๊ฐ์ ๋ฌผ์ด๋ณด์์ต๋๋ค. ๋๋ฌด ์ํ๊ณ ๊ณ์ ๋ค๋ ํ์๋ ๊ณ์ จ์ง๋ง ๋ฐ๋ฉด์ ๊ณ ์ณ์ฃผ์์ผ๋ฉด ํ๋ ๋ถ๋ถ๋ ์์์ต๋๋ค.
๊ทธ ๋ถ๋ถ์ ์ฝ๋๋ฆฌ๋ทฐ์ ๋ํ ๋ถ๋ถ์ด์์ต๋๋ค. ์นญ์ฐฌ์ด ํ๋๋ ์๊ณ ์ฝ๋์ ๋ํด์ ๋ณ๊ฒฝํด์ฃผ์์ผ๋ฉด ํ๋ ๋ถ๋ถ๋ง ๋งํ๊ฒ ๋์ด ๊ทธ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์์ ๋ ๊ธฐ๋ถ์ด ์กฐ๊ธ ์ํ๋ค๋ ๋ง์์ ํ์ จ์ต๋๋ค. ์ฌ์ค ๊ทธ๋์ ๊ณผ์ ๋ฅผ ๋ฆฌ๋ทฐํ ๋์๋ ๊ฐ์ด ํ๋ ํ๋ก์ ํธ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์ ์ฑ์ค๋ฝ๊ฒ ์ฝ๋๋ฆฌ๋ทฐ๋ ๋ฌ๊ณ ์งํํ์์ง๋ง ์ง๊ธ์ ๊ฐ์ด ์งํํ๊ธฐ ๋๋ฌธ์ ์ ์ฝ๋ ์คํ์ผ์ ํ์๋ถ๋ค๊ป ๊ฐ์ํ๊ฒ ์๋๊น ํ๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ๋ฌผ๋ก ํด๋ก ์ฝ๋ฉ์ ์ ์ด๋ผ๋ ๋ง๋ก ํฌ์ฅํด์ฃผ์ จ์ง๋ง.. ์๋ฌด๋๋ ์ค์ค๋ก ๋ค์ ๋๋์๋ณด๊ฒ ๋์์ต๋๋ค. ๊ทธ ์ดํ๋ก๋ ์ฌ์ํ ๋ถ๋ถ์ด๋ผ๋ ์นญ์ฐฌ๊ณผ ํจ๊ป ์กฐ๊ธ ๋ฅ๊ธ๋ฅ๊ธํ๊ฒ ๋ฆฌ๋ทฐ๋ฅผ ๋ฌ๋๋ก ๋ ธ๋ ฅํ์์ต๋๋ค.
๋ ํ๋ ์ค์ค๋ก ๋ฐ์ฑํ๋ ์ ์ด ์์ต๋๋ค. ํ์์ ํ์๋ฅผ ํ ๋ ๊ฐ๋ฐ์ ๋ํด์ ์ ๊ฐ ์๊ฐํ๋ ๋ฐฉํฅ์ผ๋ก ์ค๋์ ํ๊ฒ ๋์ด ๊ทธ ๋ฐฉํฅ์ผ๋ก ์งํ๋๋ ๋๋์ด ๋ค์์ต๋๋ค. ํ์ฅ์ผ๋ก์ ์์ฉํ ๋ถ๋ถ์ ์์ฉ์ ํด์ผํ๋๋ฐ ์ ๊ฐ ๊ทธ ์ ์ ์๋ชป ์ก์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋์ ๋ค์ ํ๋ก์ ํธ ๋ ๋ ํ์ฅ์ ํ ์๋, ์ ํ ์๋ ์์ง๋ง ์ด๋ค ๊ฒฝ์ฐ์์๋ผ๋ ํ์๋ถ๋ค์ ์๊ฒฌ์ ์์ฉํ๊ณ ์ดํดํ๋ฉด์ ์กฐ์จํด ๋์๊ฐ๋ ์ฐ์ต์ด ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ ๋ง ๋ง์ด ๋ ธ๋ ฅํด์ผ ํ๋ ๋ถ๋ถ์ด๋ผ ์ฐจ์ฐจ ์ฐ์ตํด ๋์๊ฐ๊ฒ ์ต๋๋ค.
์ฃผ์ ๋ฅผ ์ ํ๊ณ ๊ธฐ๋ฅ์ ๋ํด์ ์ธ์ธํ๊ฒ ์๊ฐํ์ง ๋ชปํ๋ ๋ถ๋ถ์ด ๋ง์ด ์์ฌ์ ์ต๋๋ค. ๊ธฐ๋ฅํ๋์ ๋ํด์ ๊ตฌํ์ ํ ๋๊ฐ ๋ผ์์ผ '์ ํฌ ์ด๋ฐ ๊ธฐ๋ฅ๋ ํ์ํ ๊ฒ ๊ฐ์์' ํน์ '์ฌ๊ธฐ์์๋ ์ด๊ฒ ํ์ํ์ง ์์ ๊ฒ ๊ฐ์์' ๋ฑ์ ์๊ฒฌ์ด ์๊ฒผ๊ณ ์๊ฐํ์ง ๋ชปํ๊ฒ ๊ธฐ๋ฅ๋ค์ด ์ฎ์ฌ ์๋ ๋ถ๋ถ์ด ๋ง์์ ๋ค์ ํ์๋ฅผ ํ๊ณ ์๊ฐ์ ๋ง์ด ์์ํ๊ฒ ๋์์ต๋๋ค.
๋ํ ๊ฐ๋ฐ์ ํ ๋ ๋ก๊ทธ์ธ/ํ์๊ฐ์ ๊ณผ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ api, router, context๋ฑ์ ์ง์คํ์๊ณ ๋ฆฌ์กํธ์ ์ํ ๋ณํ์ ๋ฐ๋ฅธ ๊ตฌํ์ ์ค์ ๋ก ์ด๋ฒ ํ๋ก์ ํธ์์ ๊ฒช์ง ๋ชปํ ๊ฒ ๊ฐ์์ ๋ง์ด ์์ฌ์ ์ต๋๋ค. ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ ๋์ ์ธ์ ์ํ๋ณํ๊ฐ ๋๋์ง, ๊ตฌํํ ๋ ์๋ช ์ฃผ๊ธฐ์์ ์ํ๋ ์ด๋ป๊ฒ ์์ฉํ๋์ง, useEffect์ ์ฌ์ฉ ๋ฑ ์ด๋ฐ ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ์ ๋ํด์๋ ๊ฒฝํํด๋ณด์ง ๋ชปํ์ต๋๋ค.
๋ํ ํ๋์ ์ปดํฌ๋ํธ๊ฐ ์ง์ง ํ๋์ ์ญํ ๋ง ํ๋์ง, ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์ํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์๋๊ฐ ํ๋ ๋ถ๋ถ๋ค์ ๋ํด์๋ ๊ธฐ๋ฅ ๊ตฌํ์ ๋ง์ด ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ํ์๋ค์ ์ฝ๋๋ฅผ ๋ณด๋ ์ ๋๋ก ๊ทธ์ณค์ต๋๋ค. ์๋ฌด๋๋ ์ด ๋ถ๋ถ์ ๋ฆฌํฉํ ๋ง์ ์งํํ๊ฑฐ๋ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๊ฐ๋ฐํด๋ณด๊ณ ์ถ์ต๋๋ค.
๋ง์ ํ๋ก์ ํธ ํ์ฅ์ ๋งก๊ณ ๋ณด๋ ๋๋ฌด ํ์ฅ์ ๋ฌด๊ฒ๊ฐ ๋ง์ด ๋ฌด๊ฒ๊ณ ๋ถ๋ด๋์์ต๋๋ค. ์ฒซ ํ์ฅ์ด์๊ณ ํ์๋ถ๋ค์ด ์ ๋๋ก ์งํ๋์๋ ํ ํ๋ก์ ํธ๋ฅผ ๊ฒฝํํด๋ณด์ ๋ถ์ด ์์๊ธฐ ๋๋ฌธ์ 1๋ถํฐ 10๊น์ง ์๋ฃ ์กฐ์ฌ์ ํ๋ก์ ํธ ์ด๊ธฐ ์ค์ , ๊ทธ๋ฆฌ๊ณ ํ์/์คํฌ๋ผ/์คํ๋ฆฐํธ ์งํ์ ๋ชจ๋ ์ง์ ๋งก์์ ์งํํ๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ๊ฐ ๋๋๊ธฐ 2-3์ผ ์ ๊ณผ๋ถํ๊ฐ ์ฐพ์์์์ต๋๋ค.
๊ทธ๋๋ ํ์๋ถ๋ค๊ป์ ๋ง์ด ๋์์ฃผ๋ ค๊ณ ํ์ ์ ํ๋ก์ ํธ๊ฐ ์ ๋ง๋ฌด๋ฆฌ ๋์์ต๋๋ค. ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ์งง์์ง๋ง ๋ง์ ๋ถ๋ถ๋ค์ ๋ฐฐ์ธ ์ ์์๊ณ ๋ ๋์ ๊ฐ๋ฐ์๋ก ๋์๊ฐ ์ ์๋๋ก ํ ๊ฑธ์ ๋ ๋ด๋์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์์ฐธ, ์ด ํ๋ก์ ํธ๋ฅผ ๋ง์ง๋ง์ผ๋ก ํ์ด ์๋ก ๋ฐ๋์์ต๋๋ค. ๋ฐ๋ธ์ฝ์ค๋ฅผ ์์ํ๊ณ ์ฒ์๋ถํฐ 14์ฃผ๋์ ํจ๊ปํ๋ฉฐ ์ธ๊ณ ์๋ ์ง์ํ ์์ง ๋ชปํ ๊ฒ ๊ฐ์์!! ํญ์ ๊ฐ์ฌํ์ต๋๋ค.
๋ฌ๋ถ ํ๋ก์ ํธ ํ๊ณ ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค! ํ์ดํ ๐ฅ๐ฅ๐ฅ
์๊ณ ๋ง์ผ์ จ์ต๋๋ค ํ์ฅ๋๐
๊ทธ๋์ ๋๋ถ์ ์ ๋ง ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ์ ์์๊ณ , ์ฑ์ฅํ ์ ์์์ด์
๊ทธ๋ฆฌ๊ณ ํ์ฅ๋์ ๊ณตํ์ด ์์ฃผ์์ฃผ ํฝ๋๋ค !! ์ ๋ง ์ต๊ณ ์์ด์ ใ ใ
์ธ์ ๊ฐ ๋ ์ข์ ๊ธฐํ๋ก ํจ๊ป ํ๋ก์ ํธ๋ฅผ ํ๊ณ ์ถ๋ค์.... (์๊ฒฝ๋์ ์๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋งใ ใ ใ ใ ใ )