๋ฆฌ์กํธ์ state์ props์ ๋ํด์ ๊ฐ๋ณ๊ฒ ์ ๋ฆฌํด๋ณด๋ ค ํ๋ค..!
ํ์ฌ ๋ด์ฉ์ ์ถํ ๋ง๋ถ์ฌ์ง๊ฑฐ๋ ์์ ๋ ์ ์๋ค. ๐
((์๋ชป๋ ๋ถ๋ถ์ ๋ํ ์ฒจ์ธ์ ์ธ์ ๋ ํ์์ ๋๋ค..))
State
์ปดํฌ๋ํธ ๋ด๋ถ์์ ๋ฐ๋ ์ ์๋ ๊ฐ.
useState
ํ
์ ํตํด ๋ฆฌ์กํธ์ state์ ๋ณํ๋ฅผ ์๋ ค์ ์ปดํฌ๋ํธ๊ฐ ์ฌํ๊ฐ๋ ์ ์๋๋ก ํ๋ค.
์ดํ JSX๊ฐ ๋ค์ ํ๊ฐ๋๋ฉฐ ๋ณํ๋ ๋ถ๋ถ์ ํ๋ฉด์ ๋ ๋๋งํ๋ค.
const [state, setState] = useState('');
state์ ๋ฐ๋ก ๋ณ๊ฒฝํ๋ฉด ์ ๋ ๊น? useState๊ฐ const๋ก ์์ฑ๋ ์ด์ ๋?? ๐ค
์ฐ์ state๋ setState ํจ์๋ฅผ ํตํด์๋ง ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
state๋ฅผ ๋ฐ๋ก ์ฐ๋ฉด ์ ๋๋? ์ถ์ ์ ์๋๋ฐ, ์ด๋ ๊ฒ state๊ฐ ์ง์ ์์ ๋ ์ํ์ ๋ฐฉ์งํ๊ณ setState ํจ์๋ฅผ ์ฐ๋๋ก ํ๊ธฐ ์ํด useState๋ const๋ก ์ ์ธ์ด ๋์ด ์๋ค.
์๋ ๋ธ๋ก๊ทธ์์ ์ข ๋ ์ฌ๋ ๊น์ ๊ณ ๋ฏผ์ ๋ณผ ์ ์๋ค.
https://dudghsx.tistory.com/18
Props
- ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ก๋ถํฐ ๋ฐ์์จ ๋ฐ์ดํฐ! (๋ฐ์ดํฐ์ ๋ฌถ์)
- ์ปดํฌ๋ํธ ๊ฐ ์ ๋ณด๋ฅผ ๊ต๋ฅํ ๋ Props๋ฅผ ์ด์ฉํ๋ค.
- ๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ์์ ์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ฃผ์์ ๋, Props๋ก ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ค๋ผ๊ณ ํํํ๋ค.
๊ทธ๋ฌ๋ฉด Props๋ก ๋๊ธด ๊ฐ์ ์ธ์ ๋ฐ๋์ง?? ๐ค
๋ถ๋ชจ ์ปดํฌ๋ํธ์ ์ํ๊ฐ ๋ณ๊ฒฝ๋์์ ๋ ๋ณ๊ฒฝ๋๋ค!
์ปดํฌ๋ํธ์ ์ฌํ๊ฐ
์ปดํฌ๋ํธ๋ state๋ props, ๋๋ context๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์ฌํ๊ฐ๋๋ค.
์ด๋ ๊ฒ ์ฌํ๊ฐ๋ ๋ ๋ฆฌ์กํธ๋ ํด๋น ์ปดํฌ๋ํธ ํจ์ ์ ์ฒด๋ฅผ ๋ค์ ์คํํ๋ค. (ํจ์ํ ์ปดํฌ๋ํธ์ผ ๊ฒฝ์ฐ๋ฅผ ์ ์ )
์ปดํฌ๋ํธ ํจ์๊ฐ ์ฌ์คํ๋๋ค๋ฉด ๊ทธ๋ผ DOM๋ ๋ฆฌ๋ ๋๋ง ๋๋ ๊ฑด๊ฐ? ๐ค
์ปดํฌ๋ํธ ํจ์๊ฐ ์ฌ์คํ๋ ๋๋ง๋ค ์ค์ DOM์ด ๋ค์ ๋ ๋๋ง ๋์ง ์๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์์ ๊ฐ์ DOM์ ํตํด์ ์ด์ ๊ณผ ๊ฐ์ DOM์ผ๋ก ์์ฑํ ํ์ฌ ์ํ์ ์ฐจ์ด์ ์ด ์์ ๋๋ง ์ ๋ฐ์ดํธ๋๋ค!
์ฐธ๊ณ
- Udemy React ์๋ฒฝ ๊ฐ์ด๋ with Redux, Next.js, TypeScript ๊ฐ์ ์ผ๋ถ ์ฐธ๊ณ
'๐ Studying > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] React-thunk ์์๋ณด๊ธฐ (0) | 2022.12.20 |
---|---|
[React] Styled-Components ํ์ฉ (0) | 2022.12.08 |
[React] PropTypes๋ก props ํ์ ๊ฒ์ฌ (0) | 2022.12.05 |
[React] ๋ฆฌ๋์ค.. ์ ์ฐ์ฃ ? ํ์์ฑ๊ณผ ๊ทธ ๊ตฌ์กฐ์ ๋ํด (0) | 2022.09.29 |
[React] ๋ฆฌ์กํธ์ ๋ผ์ดํ ์ฌ์ดํด ๐ค (0) | 2022.09.28 |
Comment