2022. 5. 7. 17:31ใReact
State ๋์ด์ฌ๋ฆฌ๊ธฐ(React ๊ณต์๋ฌธ์)
https://ko.reactjs.org/docs/lifting-state-up.html
๋์ผํ ๋ฐ์ดํฐ์ ๋ํ ๋ณ๊ฒฝ์ฌํญ์ ์ฌ๋ฌ ์ปดํฌ๋ํธ์ ๋ฐ์ํด์ผ ํ ๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ผ๋ก state๋ฅผ ๋์ด์ฌ๋ฆฌ๋ ๊ฒ์ด ์ข๋ค.
React ์ ํ๋ฆฌ์ผ์ด์ ์์์ ๋ณ๊ฒฝ์ด ์ผ์ด๋๋ ๋ฐ์ดํฐ์ ๋ํด์๋ "์ง๋ฆฌ์ ์์ฒ(source of truth)"๋ฅผ ํ๋๋ง ๋์ด์ผ ํ๋ค.
์ด ๋ง์ ๊ณง ๋์ผํ ๋ฐ์ดํฐ์ ๋ํ state๋ ํ ๊ณณ์์ ํญํฌ์ฒ๋ผ ๋ด๋ ค๊ฐ๋ ๋ฐฉ๋ฒ์ด ์ข์ ๋ฐฉ๋ฒ์ด๋ผ๋ ๋ป์ด๋ค.
๋ค๋ฅธ ์ปดํฌ๋ํธ ๊ฐ์ ์กด์ฌํ๋ state๋ฅผ ๋๊ธฐํ์ํค๋ ค๊ณ ๋ ธ๋ ฅํ๋ ๋์ ์ ํํฅ์ ๋ฐ์ดํฐ ํ๋ฆ์ ๊ธฐ๋์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ๊ณต์๋ฌธ์์์ ๊ถ์ฅํ๋ค.
state๋ฅผ ๋์ด์ฌ๋ฆฌ๋ ์์ ์ ์๋ฐฉํฅ ๋ฐ์ธ๋ฉ ์ ๊ทผ ๋ฐฉ์๋ณด๋ค ๋ ๋ง์ "๋ณด์ผ๋ฌ ํ๋ ์ดํธ"์ฝ๋(์ค๋ณต๋๋ ์ฝ๋)๋ฅผ ์ ๋ฐํ ์ ์์ง๋ง, ๋ฒ๊ทธ๋ฅผ ์ฐพ๊ณ ๊ฒฉ๋ฆฌํ๊ธฐ ๋ ์ฝ๊ฒ ๋ง๋ ๋ค๋ ์ฅ์ ์ด ์๋ค. ์ ๊ณต์๋ฌธ์์ ์์๋ก ์ญ์จ์จ๋์ ํ์จ์จ๋๋ฅผ ๋ ๋ค state๊ฐ์ ์ ์ฅํ๋ ๋์ ์ ์ด์ ๋ํ ๊ณตํต์ ์ ์ถ์ํํ ๊ฐ๋ง์ ์ ์ฅํ๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ ํ๋(์ญ์จ์จ๋)์ ๋ํด์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅ์ ํ ๋ ๋ค๋ฅธ ํ๋(ํ์จ์จ๋)์ ๊ฐ์ render()๋ฉ์๋ ์์์ ๊ณ์ฐ๋ ์ ์๊ฒ ๋ง๋ ๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์ ์ ๋ ฅ๊ฐ์ ์ ๋ฐ๋๋ฅผ ์ ์งํ ์ฑ ๋ค๋ฅธ ํ๋์ ์ ๋ ฅ๊ฐ์ ๋ฐ์ฌ๋ฆผ์ ์ง์ด๋ค๋์ง ์ถ๊ฐํ๋ ๋ฑ ์ํ๋ ๋ก์ง์ ์ ๋ง๋๋ก ๋ณ๊ฒฝํ ์ ์๋ค.
'React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React - useRef (0) | 2022.05.07 |
---|---|
React - ํฉ์ฑ (0) | 2022.05.07 |
React - useEffect, useCallback (0) | 2022.04.11 |