State&Props
1. ์์๋ก ์ดํดํ๊ธฐ
State
์ปดํฌ๋ํธ ์ฌ์ฉ ์ค ์ปดํฌ๋ํธ '๋ด๋ถ'์์ ๋ณํ ์ ์๋ ๊ฐ
ex) ๋์ด, ์ฃผ์, ์ทจ์ ์ฌ๋ถ
Props
'์ธ๋ถ'๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๊ฐ
ex) ์ด๋ฆ, ์ฑ๋ณ
2. Props์ ํน์ง
์ปดํฌ๋ํธ์ ์์ฑ (property)
์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ํด๋น ์ปดํฌ๋ํธ๊ฐ ๊ฐ์ง (๋ณํ์ง ์๋) ์์ฑ
๋ถ๋ชจ ์ปดํฌ๋ํธ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๊ฐ
React ์ปดํฌ๋ํธ๋ JavaScript ํจ์์ ํด๋์ค๋ก,
props๋ฅผ ํจ์์ ์ ๋ฌ์ธ์์ฒ๋ผ ๋ฐ์ โ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉด์ ์ด๋ป๊ฒ ํ์๋๋์ง๋ฅผ ๊ธฐ์ ํ๋ React ์๋ฆฌ๋จผํธ๋ฅผ ๋ฐํ
๋ฐ๋ผ์ ์ปดํฌ๋ํธ๊ฐ ์ต์ด ๋ ๋๋ง๋ ๋ ํ๋ฉด์ ์ถ๋ ฅํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ด๊ธฐ๊ฐ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
๊ฐ์ฒด ํํ
์ด๋ค ํ์ ์ ๊ฐ๋ ๋ฃ์ด ์ ๋ฌํ ์ ์์
์ฝ๊ธฐ ์ ์ฉ
ํจ๋ถ๋ก ๋ณ๊ฒฝ๋ ์ ์๋ ์ฝ๊ธฐ์ ์ฉ (read-only)๊ฐ์ฒด
๋ง์ฝ ์ฝ๊ธฐ ์ ์ฉ์ด ์๋๋ผ๋ฉด props๋ฅผ ์ ๋ฌํ ์์ ์ปดํฌ๋ํธ ๊ฐ์ ์ํฅ์ ๋ฏธ์น ์ ์์
๋ํ ์๋์น ์์ side effect์ด๋ React์ ๋จ๋ฐฉํฅ/ํํฅ์ ๋ฐ์ดํฐ ํ๋ฆ ์์น์ ์๋ฐฐ๋จ
3.How to use Props
ํ์ ์ปดํฌ๋ํธ์ ์ ๋ฌํ๊ณ ์ ํ๋ ๊ฐ๊ณผ ์์ฑ์ ์ ์
props๋ฅผ ์ด์ฉํ์ฌ ์ ์๋ ๊ฐ๊ณผ ์์ฑ์ ์ ๋ฌ
์ ๋ฌ๋ฐ์ props๋ฅผ ๋ ๋๋ง
props children
์ฌ๋ ํ๊ทธ์ ๋ซ๋ ํ๊ทธ ์ฌ์ด์ value๋ฅผ ๋ฃ์ด ์ ๋ฌํ๋ ๋ฐฉ๋ฒ๋ ์์
4. State hook, useState
useState ์ฌ์ฉ ๋ฐฉ๋ฒ๊ณผ ์๋ ๋ฐฉ์
useState ์๋์ฝ๋
useState ๋ฌธ๋ฒ ์์
JSX ์ผํญ์ฐ์ฐ์ ์ฌ์ฉ ์์
5. State ๊ฐฑ์ ํ๊ธฐ
๊ฐฑ์ ํ๋ ค๋ฉด state ๋ณ์๋ฅผ ๊ฐฑ์ ํ ์ ์๋ ํจ์์ธ setIsChecked๋ฅผ ํธ์ถ
์ฌ์ฉ์๊ฐ ์ฒดํฌ๋ฐ์ค ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด onchange ์ด๋ฒคํธ๊ฐ ์ด๋ฒคํธ ํธ๋ค๋ฌ ํจ์์ธ handleChecked๋ฅผ ํธ์ถํ๊ณ , ์ด ํจ์๊ฐ setIsChecked ํธ์ถ
setIschecked ํธ์ถ๋๋ฉด ๊ฒฐ๊ณผ์ ๋ฐ๋ผ isChecked ๋ณ์ ๊ฐฑ์
React๋ ์๋ก์ด isChecked ๋ณ์๋ฅผ CheckboxExample ์ปดํฌ๋ํธ์ ๋๊ฒจ, ํด๋น ์ปดํฌ๋ํธ ๋ค์ ๋ ๋๋ง
6. ์ฃผ์์
React ์ปดํฌ๋ํธ๋ state๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์๋กญ๊ฒ ํธ์ถ๋๊ณ , ๋ฆฌ๋ ๋๋ง ๋จ
React state๋ ์ํ ๋ณ๊ฒฝ ํจ์ ํธ์ถ๋ก ๋ณ๊ฒฝํด์ผ ํจ, ๊ฐ์ ๋ก ๋ณ๊ฒฝ X
7. ์ด๋ฒคํธ ์ฒ๋ฆฌ
React์์ ์ด๋ฒคํธ๋ camelCase ์ฌ์ฉ
JSX๋ฅผ ์ฌ์ฉํด ๋ฌธ์์ด์ด ์๋, ํจ์๋ก ์ด๋ฒคํธ ์ฒ๋ฆฌ ํจ์ (์ด๋ฒคํธ ํธ๋ค๋ฌ) ์ ๋ฌ
onChange
onClick
๋ฒํผ์ด๋ <a>
ํ๊ทธ๋ฅผ ํตํ ๋งํฌ ์ด๋ ๋ฑ ์ฌ์ฉ์์ ํ๋์ ๋ฐ๋ผ ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ฐ์ํด์ผ ํ ๋ ์ฌ์ฉํ๋ ์ด๋ฒคํธ
Last updated