02. React State
thinking in React - ui์ํ์ ํํ์ ์ฐพ์๋ผ - ์ํ๋ฅผ ์ฐพ์๋ ๊ฑฐ์ฃ . ์ดใ ฃ๋์ ์๊ฒ ํ ๊ฑด์ง ๊ฒฐ์ ํด๋ผ. ๊ทธ๋ค์์ ๋ฐ์ดํฐflow ๋ฅผ ๋ฃ์ด๋ผ..
React state๋? ๋ณ๊ฒฝ์ ๋ค๋ฃจ๊ธฐ ์ํ ์์ ๋ฐ์ดํฐ๊ฐ ์๋ค๊ณ ํด์ ๋ค ๋๋ ๊ฒ์ ์๋ - ๋ฆฌ๋ ๋๋ง๋์ด์ผํ๋ ์์๊ฐ ๋ญ๋์ํ๊ฐ ๋ฐ๋๋ฉด ํ์์ ์๋๊ฒ ๋ค ๋ฐ๋๋ค... ์ผ๊ด์ฑ ์ด๋ฐ๊ฒ๋ค์ ์ํด์๋..
DRY ์์น Don't Repeat Yourself
์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค ๋๋ง๋ค ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๊ทธ๋ฅ ๋ฃ์ง ใ ์๊ณ (ํ๋์ฝ๋ฉ) ํํฐ๋ฅผ ์จ์ '๋ง๋ค์ด' ๋์์ด ํญ์ ๋ค์ ๊ทธ๋ ค์ผํ ๋๋ง๋ค ์ค๋ณต์ผ๋ก ๊ฐ๊ณ ์๋ ๊ฑฐ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ผ ํ๋ฆด ์๋ ์๋๊ฑฐ์์ ๊ทธ๋์ DRYํ๊ฒ ๋ง๋ค๋ผ๋ ๊ฑฐ์์
SSOT (Single Source of Truth) ( ๋จ์ผ ์ง์ค ๊ณต๊ธ์)
๋ณ๊ฒฝ๋์ง ์์ผ๋ฉด ์ํ ์๋
๊ณ์ฐ ๊ฐ๋ฅํ๋ฉด ์ํ ์๋
๋ถ๋ชจ ์ปดํฌ๋ํธ๊ฐ props๋ก ์ ๋ฌํ๋ค๋ฉด ์ํ ์๋
์ํ๊ฐ ๋๋ฌด ๋ง์ผ๋ฉด ๋ณต์กํฉ๋๋ค. ์ง์ ๊ด๋ฆฌํ๋ ์ํ์ ์๋ฅผ ์ค์ฌ์ค ์ ์์ต๋๋ค. Props๋ก ์ ๋ฌํด์ค ๋ type์ ์ ์ ์ํด๋์ผ๋ฉด ๋ณต์กํด์ ธ๋ ์ ๋ฆฌ๊ฐ ์ ๋๊ฒ ํ ์ ์์..
์ํ์ ๊ด๋ฆฌ์ฃผ์ฒด ๊ฒ์์ด, ์ฒดํฌ๋ฐ์ค, ๋ฐ๋๋๋ฐ ๊ทธ๋ผ ์ด๊ฑธ ๋๊ฐ ๊ด๋ฆฌํ๋ฉด ์ข์๊น์?? ์ ๋ ฅํด์. ํ์ดํ๋ง ํด์. ์ฒดํฌ๋ฐ์ค๋ฅผ ์จ์คํํด์. ์ปดํฌ๋ํธ๋ก ๊ฐ๋ด์.
?! props, state ๋ณ๊ฒฝ์ ๋ฐ๋ผ ๋๋ค๋ฅธ state๋ฅผ ๋ณ๊ฒฝํด์ค์ผ ํ ๋, useEffect๋ฅผ ์ฌ์ฉํ์ง ๋ง๋ผ?!?!?!?!? ๋ ๊ณ์ ์ผ๋๋ฐ ์ํ๋ณ๊ฒฝ์ด ์ผ์ด๋๋ฉด ๋ฆฌ์กํธ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ฒ์ธ์ผ๋์ ์ ์ฅํ๊ณ , ๊ทธ ์ดํ์ ui๋ฅผ ์ ๋ฐ์ดํธํจ๋๋ค. ์ด ๋ ๊ณผ์ ์ด ์ํ๋ณ๊ฒฝ์ด ์ผ์ด๋ ๋๋ง๋ค ๋ฐ์ํ๋๋ฐ, ์ํ๋ณ๊ฒฝ์ 2, 3๋ฒ ํ๋ฉด 2**n ๋ฒ ์ํ๋ ๊ฑฐ์๋๋๊น! ์ํ๊ฐ ๋ณํ๋ฉด ๊ทธ์ ๊ด๋ จ๋ ๋ชจ-๋ ui์์๊ฐ ๋ฆฌ๋ ๋๋ง ๋๋ฏ๋ก, ๋ค๋ฅธ ๋ณ์์ ํ์ฉํ์ฌ ์ ์ฅํด์ค์ผํฉ๋๋ค!!! ๊ทธ๋ฐ๋ฐ ์ด ํ์ฉ๊ณผ์ ์์ ๋น์ผ ์ฐ์ฐ์ด ํฌํจ๋๋ค๋ฉด, useMemo๋ฅผ ์ฌ์ฉํด์ฃผ์ธ์.
useState
1๊ธ ๊ฐ์ฒด(first-class object)๋?
Lifting State Up
๋ฆฌ์กํธ๊ฐ ์๋ ใด๊ณณ์์ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ธฐ
Last updated