์ฝ๋์คํ
์ด์ธ ๋ฅผ ์๋ฃํ๊ณ 20์ผ๋์ ๊ธฐ์ ๋ฉด์ ์คํฐ๋ ์ฑ๋ฆฐ์ง๋ฅผ ์ฐธ์ฌํ๋ค! ์ด๊ฑธ ๋งค์ผํ ์ ์์๊น? ํ๋๋ฐ ๋ ํ๋ค๋ณด๋ ๊ธ๋ฐฉ 20์ผ์ด ๋ค๊ฐ๋ค๋... ๋งค์ผ ๊ธฐ์ ๋ฉด์ ์ง๋ฌธ์ด ์ฌ๋ผ์ค๋ฉด ๋ต๋ณ ์ ๋ ์ฐ์ต์ ํ๋ฉด์ ๊ฐ๋
๋ ๋ค์ ๊ณต๋ถํ๋ ์๊ฐ์ ๊ฐ์ง ์ ์์ด์ ์ข์๋ค. ๊ทธ๋ฐ๋ฐ ์ญ์ ๊ธฐ์ ์ ๋ง๋ก ์ค๋ช
ํ๋ ค๋ ๋ ์ด๋ ค์ด๊ฒ.. ^^ ๋ ์ธ์ ๊ธฐ์ ์๋ ์ ์์ง..? 20์ผ ์ฑ๋ฆฐ์ง์์ ๋ฐ์๋ ์ง๋ฌธ๊ณผ ๋ด๊ฐ ์ ์ ๋ต๋ณ๋ค์ ๋ธ๋ก๊น
ํด๋ณธ๋ค. 1. ๋ฐฐ์ด, ๊ฐ์ฒด๋ฅผ const๋ก ์ ์ธํ๋๋ฐ ์์, ์์ฑ์ ์ถ๊ฐ๊ฐ๋ฅํ ์ด์ const ํค์๋๋ ์ฌ์ ์ธ๊ณผ ์ฌํ ๋น์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ํ์ง๋ง const๋ก ์ ์ธํ ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด์ ์์, ์์ฑ์ ์ถ๊ฐํ๋ ๊ฒ์ ์ฌํ ๋น์ ๊ฐ๋
์ด ์๋๋๋ค. ๋ฐฐ์ด๊ณผ ๊ฐ์ฒด์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ ์์ฒด๊ฐ ํ ๋น๋๋ ๊ฒ์ด ์๋๋ผ ์ฃผ์๊ฐ์ด ํ ๋น๋๊ธฐ ๋..
์ ์ฒด ๊ธ
์ฝํ
๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ ๋ฐ๊ฒฌํ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ด์ฅํจ์ parseInt() ์ Number()์ ๋ค๋ฅธ์ ์ฌ์ค parseInt() ์ Number() ๋ชจ๋ ๋ด์ฉ๋ฌผ์ด ์ ์ํ ์ซ์์ธ๋ฐ type๋ง ๋ฌธ์ํ์ผ ๊ฒฝ์ฐ์๋ ๋ ๋ค ์ซ์ํ์ผ๋ก ์ ๋ณํํด์ฃผ์ด ๋๊ฐ์ ์ญํ ์ ํ๋ค๊ณ ๋ด๋ ๋ฌด๋ฐฉํ๋ค. ๋๋ ์ฌํ๊น์ง ๋ ํจ์ ๋ชจ๋ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ์ค ์์๋ค๋.. ๊ทธ๋ฐ๋ฐ ๋ด์ฉ๋ฌผ์ด ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฐ์ด ๋์ค๊ณ .. ์ฐพ์๋ณด๋ ์์ฐํ ์ด๋ก ์ ์ผ๋ก๋ ๋ฌ๋ผ์ ํ๋ฒ ์ ๋ฆฌํด๋ณธ๋ค. ์ค๋์ ์ฝํ
๋ฌธ์ const arr =[ '', '', '1', '23', '' ] ๋ฌธ์์ ์ซ์๊ฐ ์์ฌ์๋ string์์ ์ ๊ทํํ์์ผ๋ก ๋ฌธ์๋ฅผ ๊ฑธ๋ฌ๋ด๊ณ ์ซ์ํ๋ง ๋จ๊ธฐ๊ณ , ๋๋จธ์ง ์ซ์๋ฅผ ๋ํด์ฃผ๋ ๊ฒฐ๊ณผ๊ฐ ํ์ํ๋ค. ๊ทธ๋์ ๊ฐ ๋ฐฐ์ด ์์๋ฅผ ์ซ์ํ์ผ๋ก ๋ฐ๊พธ๊ณ ๋ํด์ฃผ๋ฉด ๋..
์ ๊ธฐํ ๊ฒฝํ์ด๋ค. ์ฒ์ ๊ณต๋ถํ ๋๋ ์ ํ ๋ฌด์จ๋ง์ธ์ง ์ดํด๊ฐ ์๋๋ ๊ฒ๋ค์ด ๋ถํธ์บ ํ ์๋ฃํ ๋ค์ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive ์ฑ
์ ์ฝ์ผ๋ ์ ์ ์ ์ฝํ๋ค. (์์ง ์ฒ์ ๋ถ๋ถ์ด๋ผ ๊ทธ๋ฐ๊ฑธ์ง๋.... ) ์๋ฐ์คํฌ๋ฆฝํธ ๋ฉด์ ์คํฐ๋๋ฅผ ์์ํ๋ฉด์ ํ์๋ค์ด๋ ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ
์ ์ฝ๊ณ ๊ถ๊ธํ ๊ฒ๋ค์ ๊ณต์ ํ๋๋ฐ ์์ฆ ๊ทธ๋์ ๊ผญ ํ์๊ฐ ์ด์์ ๋ชจ๋ฅ๋ค ์ฑ
์ ์ฝ์ ๊ฒ ๊ฐ๋ค. ์์ฆ ์ด ๋๊บผ์ด ์ฑ
์ฝ๋ ์ฌ๋ฏธ์ ๋น ์ก๋ค ! ๐ ์ง๋ฌธ const a = {}; a.b = 5; console.log(a.b) = ? ์ฝ์์ ์ฐํ๋ ๊ฐ์? ๐ ๋ฉด์ ์ง๋ฌธ ์๋ 1. const๋ let์ ์๊ณ ์๋๊ฐ? 2. ์์ํ์
, ๊ฐ์ฒดํ์
์ ์ฐจ์ด๋ฅผ ์๊ณ ์๋๊ฐ? ๐ ๋ต๋ณ 5๊ฐ ์ฐํ๋ค. ๋น ๊ฐ์ฒด๋ฅผ a๋ผ๋ ์์๋ก ํ ๋น์ ํด์ฃผ์๋ค. const ํค์๋๊ฐ ์์ด ..
๋ฆฌํฉํ ๋ง ์ดํ ๋ฐ๋ชจ input์ด ๋น์ด์์๋ + ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๋ชจ๋ ํต๊ณผํ๊ธฐ ์ ์๋ ๋ก๊ทธ์ธ ๋ฒํผ์ด disabled ๋์ด ๋ฒํผ์ ๋๋ฅผ ์ ์๋ค. ๋ชจ๋ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํต๊ณผํด์ผ์ง ๋ก๊ทธ์ธ ๋ฒํผ์ ๋ถ์ด ๋ค์ด์ค๊ณ ๋ก๊ทธ์ธ ๋ฒํผ์ ํด๋ฆญํด์ ์๋ฒ์ ๋ก๊ทธ์ธ ์์ฒญ์ ๋ณด๋ธ๋ค. ์ด๋ฒ ํ๋ก์ ํธ์์๋ ๋ก๊ทธ์ธ, ํ์๊ฐ์
๊ธฐ๋ฅ ๊ตฌํ์ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ํ์ํ ๋ชจ๋ input์ฐฝ์ useState hook ์ํ๋ก ๊ด๋ฆฌํ ํ์์์ด, react-hook-form ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์
ํด์ form์ ์์ฑํ๋ค. react-hook-form์ ์ฌ์ฉํ๋ฉด ์๋ฒ๋ก ํต์ ์ด ๊ฐ๊ธฐ ์ด์ ์ ํด๋ผ์ด์ธํธ์์ ํด์ผ๋๋ ์ ํจ์ฑ๊ฒ์ฌ๋ฅผ ์ฝ๊ณ ๊ฐ๋จํ ์ฝ๋๋ก ์งค ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค. react-hook-form ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ณต์ ๋ฌธ์์ ํ์ดํ๋ Simple React forms ..
์ด ๋ ์ด ์ค๊ฒ๋ ์ค์ด์ผ... ์ค๋์ ์๋ฃ์์ด์๋ค. ๋ฉ์ธํ๋ก์ ํธ๊ฐ ๋๋๊ณ ํ๋ก์ ํธ ๋ด์ฉ์ ๋ค์ ํ๋ฒ ์ ๋ฆฌํ๋ฉด์ ๋ธ๋ก๊น
์ ํ๊ณ ์ถ์๋๋ฐ ์ก์์นญ์ ๋ญ์ .. ์ญ์ ๋ธ๋ก๊น
์ ์ ๋ง ์๊ฐ๋ ์๊ฐ์ด์ง๋ง ์ด์ ๊ณผ ๋
ธ๋ ฅ์ด ์์ด์ผ์ง๋ง ๊ฐ๋ฅํ๋ค. ๋ ์๊ทผ ๋ฐ์๊ฒ ํ๋ ๋ ์ก์์นญ ๊ธฐ๊ฐ์ด์๋ค..! ์๋ ๋ญ๊ฐ ๊ธ์ ๋ฐํ?ํ ๋ ๊ทธ๋ฅ ์งง๊ฒ ์ ๊ณ ๋๋ด๋ ์คํ์ผ์ด ์๋๋ผ์ ๋ ๋ด์ฉ์ด ๋ง์ ์ปจํ
์ธ ๊ฐ ์๋๋ฉด ๋ธ๋ก๊น
์ ํ์ง ์์๋๋ฐ ,,, ์ด ์๊ฐ์ด ์ง๋๋ฉด ์ค๋์ ์ง๋๊ณ ์ค๋ ๋๊ผ๋ ๊ฐ์ ์ ํ๋ฆฟํด์ ธ ๋ฐ๋ํ ๊ธฐ๋ถ์ ์ ์ด๋ ์ ์์ ๊ฒ ๊ฐ์ ์ง๊ธ ์๊ธฐ ์ ์ ๋ฒ์จ ์๋ฒฝ์ด ๋์์ง๋ง ์กฐ๊ธ ํํ๊ฑฐ๋ฆฌ๋ค๊ฐ ์์ผ๊ฒ ๋ค. ํ์ดํ๋์ ํ๋ฉด์ ํ์ฌ๋ค๋๋๋ณด๋ค ์ ๋ง ํจ-์ฌ ๋ง์ ์ฌ๋๋ค์ ๋ง๋ฌ๋ค. ๋ด๊ฐ ์ฌํ์ํ์ ํ๋ฉด์ ๋๊ผ๋ ๊ฑด ์ฌ๋๋ค์ ๋์ด๊ฐ ๋ค์๋ก ์ฒ์ ๋ง๋๋ ์ฌ๋์ ..
๋ฉ์ธํ๋ก์ ํธ๊ฐ ๋๋๊ณ ๋๋ผ๋ ์ ์ถ์ ์ด์ ์ ์์ํ ๋ฉ์ธ ํ๋ก์ ํธ๊ฐ 10์ 11์ผ์ ๊ฐ๋ฐ ๋ง๊ฐ์ ํ๊ณ 12์ผ์ ๋ฐ๋ชจ๋ฐ์ด๋ ํ๊ณ ... ์ ๋ง ์ด๋ ๊ฒ ๋ฐ์๊ณ intensiveํ๊ฒ ๋ฌ๋ ค์จ ์ ์ด ์์๋๊ฐ..? ์ฐ๋ฆฌ ํ์ด ์ง์ ์์ด๋์ด๋ ๊ตฌ์ํ๊ณ , ๊ธฐํ์ ํ๊ณ , ๋์์ธ๋ ํ๊ณ , ์ ๋ง ๋ด ์ถ์ด ๊ฐ๋ฐ ๊ฐ๋ฐ ์ฝ๋ฉ์ผ๋ก ๊ฐ๋!! ์ฐจ์๋ ๊ทธ๋ฐ ๋ชฐ์
๊ฐ ๋์ ๊ฒฝํ์ ํ๋ค. ํ๋ก์ ํธ ๊ธฐ๊ฐ๋์ ๋ฐฅ๋ ์ ๋ ๋จน์ง ๋ชปํ๋ ๋ ๋ ๋ง์๊ณ , ๊ทธ๋ ๊ฒ ์ฐ์ฑ
์ ์ข์ํ๋ ๋ด๊ฐ ์ง์์ ํ๋ฐ์ง๋ ์ฐ์ฑ
์ ๋ชป๋๊ฐ์ ๋ ๋ง์ง๋ง.. ๊ฒฐ๊ณผ์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ง์น๊ฒ ๋์ด ์ ๋ง ๋ฟ๋ฏํ๊ณ ์์ง ํด์ผ๋ ๊ณต๋ถ๊ฐ ๋ ๋ง๊ธด ํ์ง๋ง ์ด๋์ ๋ ์กฐ๊ธ ๊ทธ๋๋ ์์ ๊ฐ๋ ์ด์ง ์๊ธด ๊ฒ ๊ฐ๋ค. ์์ฒญ๋ ์์ ๊ฐ์ ์๋์ง๋ง .. ์น๊ฐ๋ฐ์ ์ฒ์ ํด๋ณด๋๊ฑฐ๊ณ ์ธ์ ๊ฑฐ์ ์ฒซ ํ ํ๋ก์ ํธ์ด์ง๋ง..
VSCode ํ
๋ง๋ฅผ ๋ง์์ ๋๋ ํ
๋ง๋ก ๋ณ๊ฒฝํ๋๋ฐ ์ด๋ด๋๊ฐ ์๋ค. ์ ์ด ์๊น๋ง ์ข ๋ฐ๊ฟ์ ์๋.. ๋ค๋ฅธ ๊ฑด ๋ค ๊ด์ฐฎ์๋ฐ ์ด ์๊น์ด ๋๋ฌด ๊ฑฐ์ฌ๋ ค ใ
ใ
์ด๋ฒ์ pc๋ฅผ ๋ฆฌ์
๋นํ๊ณ ? ํ๋ก์ ํธ ๋์ค์ ๊ธํ๋๋ก vscode์ ๋ด์ฅ๋์ด์๋ ํ
๋ง ์ค ๊ทธ๋๋ ์ ค ๋ง์ ๋๋๊ฑธ๋ก ๋ณ๊ฒฝํ๋๋ฐ.. ๋์ ํ.. ํ๋ก์ ํธ๋ฅผ ๊ณ์ํ๋๋ฐ ์ JSX ํ๊ทธ์ ๋นจ๊ฐ ๊ธ์จ๊ฐ ๋๋ฌด๋๋ฌด ๋์ด ์ํ ๋ค... ์ด๋ ๊ฒ ์ปดํฌ๋ํธ ํ๊ทธ๊ฐ ์ฃ๋ค ๋นจ๊ฐ์ ... ์ฝ.. ์.. ํ๋ฒ ๋ฐ๊ฟ๋ณด๊ฒ ์ต๋๋ค.. ํน์ ํ๊ทธ๋ง ๋ฐ๊พธ๋ ค๋ฉด ๋ญ๋ก ๊ฒ์ํด์ผ๋๋์ง ...? ๋ฐ๊พธ๋๋ฐ๋ ์กฐ์ฝค ์๊ฐ์ด ๊ฑธ๋ ธ์ด์ ์ ์ด๋ณด๋ ํฌ์คํ
๋จผ์ VSCode ์ค์ Settings ๋ก ๊ฐ์ editor: token ์ด๋ผ๊ณ ๊ฒ์ํ๋ค. ์ด์ฐฝ๊ธฐ์ ์ผ์ผ์ด settings ์์ ์นดํ
๊ณ ๋ฆฌ๋ฅผ ๋ค ์ฐพ๊ณ ๋ค๋
๋๋ฐ ๋๋ฌด ๋ฐฉ๋..
์ต์ข
๊ตฌํ ๋ชจ์ต JSX ์ฝ๋ ๋งํฌ์
๊ตฌ์กฐ ์ด๋ฒ ํ๋ก์ ํธ์์ ๋ง์ดํ์ด์ง๋ฅผ ๊ตฌํํ๋ฉด์ ์กฐ๊ธ ์ ๋ฅผ ๋จน์๋ ๋ถ๋ถ์ด ์๋๋ฐ, ์ธ๋ถ ๋ค๋น๊ฒ์ด์
๋ฐ์์ ๋ง์ดํ์ด์ง ์์ ๋ฉ๋ด ํญ์ผ๋ก ๊ตฌํํ๋ ๋ด ํ๋กํ, ๋ด ๋ ์ํผ, ๋ด ์ข์์, ๋ฐ์ ๋๊ธ ๋ค๊ฐ์ ํญ์ ๊ฐ๊ฐ ํ๋์ฉ ๋ค๋ฅธ ํ์ด์ง์ฒ๋ผ ์ ๊ทผํ ์ ์๊ฒ ๋ง๋๋ ๊ฒ์ด์๋ค. ์ฒ์์๋ useState๋ฅผ ์ด์ฉํด์ ์ํ๋ก ์ฒ์ currentTab์ 0์ผ๋ก ๋๊ณ , ํ์ฌ ๋๋ฌ์ง ํญ์ด currentTab์ด ๋๋๋ก ๊ตฌํํ๋๋ฐ, ์ด๋ ๊ฒ ํ๋๋ ๋ง์ดํ์ด์ง์ ๋ค์ด์ค๋ฉด ๋ฌด์กฐ๊ฑด ์ํ๊ฐ 0๋ฒ์งธ์ธ ๋ด ํ๋กํ๋ก ์์์ด๋๊ณ , ์ธ๋ถ์์ ๋ง์ดํ์ด์ง ๊ฐ๊ฐ์ ํญ์ ์ ๊ทผํ ์ ์๋ค๋ ๋ฌธ์ ์ ์ด ์์๋ค. ๊ธฐ์กด ์ฝ๋ const [currentTab, setCurrentTab] = useState(0); {menuArr.ma..