1. ๊ฐ์
React๋ Component-Based Language์ด๋ค. ๋ฐ๋ผ์ ์ปดํฌ๋ํธ๋ผ๋ ๊ฐ๋ ์์ฒด๊ฐ ๋งค์ฐ ์ค์ํ๋ค. ๋ ํจ์์์ ์ธ์์ ์ญํ ์ Component์์๋ Props๋ผ๋ ๋ ์์ด ํ๋ค. ๋ฐ๋ผ์ Component๊ฐ ์ค์ํด์ง ๋งํผ Props์ ๋ํ ๊ฐ๋ ์ดํด๋ ์ค์ํด์ง๋ค. ๊ฐ์ด ์ดํด๋ณด์.
2. Component์ ๋ํ์ฌ
Component๋ ํ๋์ ๊ธฐ๋ฅ์ ํ๋ JavaScript Code๋ฅผ ์๋ฏธํ๋ค. ์ปดํฌ๋ํธ๊ฐ ํจ์์ ํํ๊ฐ ๋งค์ฐ ์ ์ฌํ๋ฐ, ์ด๋ ํ๋์ ๊ธฐ๋ฅ์ด ์๋ฏธ๊ฐ ์์ผ๋ ค๋ฉด ์ ๋ ฅ์ ๋ฐ์ ํน์ ๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅ ํด์ผํ๋๋ฐ, ๊ทธ๋์ ์ปดํฌ๋ํธ์ ํํ๊ฐ ํจ์๋ฅผ ๋ฐ๋ผ๊ฐ๊ฒ ์๋๊ฐ ์ถ๋ค. ๊ธฐ๋ณธ์ ์ธ JavaScript์ ํจ์์ ์ฐจ์ด์ ์ด ์๋ค๋ฉด ๋น์ฐํ ์ ๋ ฅ์ ๋ฐ๋ ๊ฐ๊ณผ, ์ถ๋ ฅํ๋ ๊ฐ์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ด๋ค.
ํจ์๋ ๋น์ฐํ๊ฒ ์ด๋ ํ ์ ๋ ฅ๊ฐ (๋ฌธ์์ด, ๊ฐ์ฒด, ๊ทธ๋ฅ ์ซ์ ๋ฑ๋ฑ)์ ๋ฐ์ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ค. React Component์ ๊ฒฝ์ฐ Props๋ฅผ ์ ๋ ฅ ๋ฐ์์ ์ ๋ฒ ํฌ์คํ ์์ ๋ฐฐ์ด React element๋ฅผ ์ถ๋ ฅํ๋ค. React elements๋ 'ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ๋ด์ฉ์ ๋ํด ๊ธฐ์ ํ JavaScript ๊ฐ์ฒด์ด๋ค.' Props๋ ํด๋น ์ปดํฌ๋ํธ์ ์ฐ์ผ ์ ๋ ฅ ๊ฐ์ด๋ค. ํจ์์์ ๋งํ๋ ์ ๋ ฅ๋ณด๋ค ๋ ๋์ ์๋ฏธ๋ฅผ ๊ฐ์ง์ง๋ง, ์ฌ๊ธฐ์๋ ๋๋ต Props = ์ธ์๋ผ๋ ์ธ์๋ง ๊ฐ์ ธ๊ฐ๋ ์ถฉ๋ถํ๋ค.
โ React๊ฐ Component-Based๋ผ๋ ๊ฒ์ ๋ฌด์์ ์๋ฏธํ๋?
์ปดํฌ๋ํธ-Based๋, ํ์ํ ์ปดํฌ๋ํธ๋ค์ ์ ์ํด๋๊ณ ,
ํ์ํ ๊ธฐ๋ฅ๋ค์ ๊ทธ๋ ๊ทธ๋ ๋ ๊ณ ๋ธ๋ก ์กฐ๋ฆฝํ๋ฏ์ด ์กฐํฉํ์ฌ ๊ฐ๋ฐ ํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค!
์ปดํฌ๋ํธ์ ๋ํด์๋ ๋๋ต ์ดํด๋ดค๋ค. ๋๋ ๊ฐ์ธ์ ์ผ๋ก, Props๋ฅผ ์ธ์๋ก ๋ฐ์ ํ๋ฉด์ ๊ทธ๋ฆฌ๋ javaScript ๊ฐ์ฒด๋ฅผ ์ถ๋ ฅํ๋ ํจ์ ์ ๋์ ์ธ์์ ๋ฐ์๋ค. ๋ ๊ณต๋ถํด๊ฐ๋ฉด ์ ์๊ฐ ๋ ๋ช
ํํด์ง ๊ฒ ๊ฐ๋ค.
์ก์ค์ ๊ฐ์คํ๊ณ ๊ทธ๋์ Component-Based๋ผ๋ ๊ฒ์ด ๋ฌด์์ ์๋ฏธํ๊ณ ์ ์ค์ํ๊ฐ? React์์๋ ํ๋์ Component์ ํ๋์ ๊ธฐ๋ฅ์ ์ ์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋น ๊ธฐ๋ฅ์ด ๋์์ ์ฌ๋ฌ๋ฒ ํ์ํ ๋ ๋ง๋ค, ์
๋ ฅํ๋ Props ๊ฐ๋ง ๋ฐ๊ฟ์ ์ฌํ์ฉ ํ๋ค. ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
์๋ ์์ด๋น์๋น ํ๋ฉด์ด๋ค. ์ ๊ธฐ์ ๋ณด์ด๋ ์นด๋ ๋ทฐ๋ค์ ๋ชจ๋ ์ปดํฌ๋ํธ๋ค์ ์ฌํ์ฉ ํ์ฌ ๋ํ๋ธ ๊ฒ์ด๋ค.
์์ ์์ ์นด๋๋ทฐ๋ props ๊ฐ๋ง ๋ฐ๊ฟ์ 4๋ฒ ์ฌํ์ฉ ๋์๊ณ , ํฐ ์นด๋๋ทฐ๋ 2๋ฒ ์ฌํ์ฉ ๋์๋ค. ์ด์ฉ๋ฉด, ์นด๋ ๋ทฐ ํฌ๊ธฐ๋ props ์ธ์ ๊ฐ์ผ๋ก ๋๊ฒจ์ A,B๊ฐ ๊ฐ์ ๊ฒ์ผ ์๋ ์๋ค! ์ด๋ ๋ฏ Components-Based๋ผ๋ ๊ฒ์ ์ฌํ์ฉ๊ณผ ์๋ฏธ๊ฐ ๊น๋ค๋ ๊ฒ์ ์ธ์งํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
๊ฐ์ฒด ์งํฅ์ ๊ณต๋ถํ๋ค๋ฉด ์ฌ์ด๋ฐ, ์ปดํฌ๋ํธ๋ฅผ ํด๋์ค์ ๋์ ํด์ ์๊ฐํ๋ฉด ๋๋ค. ์ ๋ถ์ด๋นต ํ์ฒ๋ผ ํ๋์ ์ค๊ณ๋์ด๋ค. ์ฐ๋ฆฌ๋ ๊ทธ ๋ถ์ด๋นต ํ์ ํตํด ์ค์ ์ฌ์ฉํ๋ ๋ถ์ด๋นต ์ฆ Elements๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ๋ค. Elements๋ ๊ฐ์ฒด์งํฅ์ผ๋ก ์น๋ฉด ์ธ์คํด์ค๋ก ๊ฐ์ฃผํ๋ฉด ๋๋ค. ์ด์ Props๋ผ๋ ๊ฐ๋ ๊น์ง ๋ฃ๋๋ค๋ฉด, ํ๋์ ์ปดํฌ๋ํธ๋ก ๋ถ์ด๋นต ํ์ ๋ชป ๊ณ ์น์ง๋ง ๊ทธ ์์ ์ฑ์ฐ๋ ๊ฐ๋ค์ ๊ณ ์น ์ ์๋ค. Props ๊ฐ์ ๋ค๋ฅด๊ฒ ํ๋ฉด ํฅ ๋ถ์ด๋นต, ์ํฌ๋ฆผ ๋ถ์ด๋นต, ๊ณ ๊ตฌ๋ง ๋ถ์ด๋นต์ ๋ง๋ค ์ ์๋ค!
์์ ์์ด๋น์๋น๋ ํด๋น ์๋ฆฌ๋ฅผ ๋ฐ๋ฅธ ๊ฒ์ด๋ค.
๋ค์์ Props์ ๋ํด์ ๋ ์์ธํ ๋ค๋ค๋ณด๊ฒ ๋ค.