๐ States
- ๋ฆฌ์กํธ๋ ๋ฐ์ดํฐ ์ค์ฌ์ผ๋ก ์์ง์ธ๋ค. (๋ฐ์ดํฐ์ ํ๋ฉด์ ์ผ์น)
- component๋ ๋ฐ์ดํฐ, ํ๋ฉด์ ํ๋๋ก ๋ฌถ์ด๋์ ๊ฒ์ด๊ณ ํ๋ฉด์์ ๋ฐ๋ ๋ถ๋ถ์ state๋ก ๋ง๋ ๋ค.
๐ state์ props
- props(properties) ์ state๋ ์ผ๋ฐ JavsScript ๊ฐ์ฒด์ด๋ค.
- ๋ ๊ฐ์ฒด ๋ชจ๋ ๋ ๋๋ง ๊ฒฐ๊ณผ๋ฌผ์ ์ํฅ์ ์ฃผ๋ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค. (์ปดํฌ๋ํธ์ render() ํจ์๋ฅผ ์ํ ์ ๋ ฅ ๋ฐ์ดํฐ๋ผ๊ณ ๋งํ ์ ์๋ค.)
- props์ state๋ HTML ์ถ๋ ฅ์ด ๋์ค๋ "raw data"๋ฅผ ๊ตฌ์ฑํ๋ค.
๐ state์ props์ ์ฐจ์ด์
- props๋ ํจ์ ๋งค๊ฐ๋ณ์์ฒ๋ผ ์ปดํฌ๋ํธ์ "์ ๋ฌ"๋๋ ๋ฐ๋ฉด state๋ (ํจ์ ๋ด์ ์ ์ธ๋ ๋ณ์์ฒ๋ผ) ์ปดํฌ๋ํธ "์"์์ ๊ด๋ฆฌ๋๋ค.
- component๊ฐ ํน์ ์์ ์ ์์ฑ ์ค ํ๋๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ ํด๋น ์์ฑ์ "state" ์ฌ์ผ ํ๋ค.
- component๋ props๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.
props | state | |
๋ถ๋ชจ Component๋ก๋ถํฐ ์ด๊ธฐ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋๊ฐ? | YES | YES |
๋ถ๋ชจ Component์ ์ํด ๋ณ๊ฒฝ๋ ์ ์๋๊ฐ? | YES | NO |
Component์์์ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ์ ์๋๊ฐ? (๋ถ๋ชจ๋ก๋ถํฐ ๋ฐ์ props์ state ์ด๊ธฐ๊ฐ์ ๋ชจ๋ Component ๋ด๋ถ์ ์ ์๋ ๊ธฐ๋ณธ๊ฐ๋ณด๋ค ์ฐ์ ์ ๋๋ค.) |
YES | YES |
Component์์์ ๋ณ๊ฒฝํ ์ ์๋๊ฐ? | NO | YES |
์์ Component์ ์ด๊ธฐ๊ฐ์ ์ค์ ํ ์ ์๋๊ฐ? | YES | YES |
์์ Component์์ ๋ณ๊ฒฝํ ์ ์๋๊ฐ? | YES | NO |
https://github.com/uberVU/react-guide/blob/master/props-vs-state.md
๐ Component์๋ State๊ฐ ์์ด์ผ ํ๋๊ฐ?
- state๋ ์ ํ์ฌํญ์ด๋ค.
- state๋ ๋ณต์ก์ฑ์ ์ฆ๊ฐ์ํค๊ณ ์์ธก ๊ฐ๋ฅ์ฑ์ ๊ฐ์์ํค๋ฏ๋ก ๋๋ฌด ๋ง์ state ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ํผํด์ผ ํ๋ค.
'React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] ๋ฐฐ์ด์ ์ด์ฉํด์ ๋ฐ์ดํฐ ์ถ๊ฐํ๊ธฐ (0) | 2022.06.11 |
---|---|
[React] ๋ฐฐ์ด๋ก ๋ฆฌ์คํธ ์ฌ์ฉํ๊ธฐ (map) (0) | 2022.06.10 |
[React] useRef๋ก React์์ DOM ์กฐ์ํ๊ธฐ (0) | 2022.06.10 |
[React] useState๋ก ์ฌ์ฉ์ ์ ๋ ฅ ๋ฐ๊ธฐ (0) | 2022.06.10 |
[React] class ์ปดํฌ๋ํธ์์ ํจ์ ์ปดํฌ๋ํธ๋ก ๋ฐ๊พธ๊ธฐ (0) | 2022.06.10 |