๐ Nomad Coder ReactJS๋ก ์ํ ์น ์๋น์ค ๋ง๋ค๊ธฐ
๊ฐ์๋ ธํธ (2021 Updated ver.)
- Test App์ ๊ตฌ์กฐ
counter ์ฆ๊ฐ (function) -> UI์ display (render)
์ด๋ ๊ฒ ๋ณํ๋ count๋ฅผ state
๋ฅผ ์ด์ฉํด ๋ง๋ค ์ ์๋ค.
BAD WAY(๐)์ผ๋ก ๋จผ์ ๋ง๋ค์ด ๋ณธ ํ, BEST WAY(๐)๋ฅผ ๊ตฌํํ์ฌ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋น๊ตํ๋ฉด์ React.js ์๋ฆฌ ๋ฐ ์ญํ ์ ์์๋ณด์.
JSX์ฌ์ฉ์ผ๋ก ๋ณ์์ ์ ์ฉ์ด ๋งค์ฐ ๊ฐํธํด์ก๋ค.
UI์ count๋ ์ฌ๋ผ๊ฐ์ง ์์ง๋ง console๋ก ํ์ธํด๋ณด๋ฉด count๊ฐ ์ฌ๋ผ๊ฐ๊ณ ์๋ค.
-> component๋ฅผ ์ฒ์์ ๋จ ํ๋ฒ๋ง ๋ ๋๋งํ๊ณ ์๊ธฐ ๋๋ฌธ
-> updated counter ๋ฆฌ๋ ๋๋ง์ด ํ์ํ๋ค. NEW ver. Container!
counterUp()
ํจ์์ render ์ฝ๋๋ง ํ ์ค ์ถ๊ฐํ๋ฉด UI์๋ ๋ฐ๋ก ์ ์ฉ๋๋ ๋ชจ์ต์ ํ์ธํ ์ ์๋ค.
์ฝ๋ ์ฌ์ฌ์ฉ์ด ์ฉ์ดํ๋๋ก render()
ํจ์๋ฅผ ๋ง๋ค์ด ์ฝ๋๋ฅผ ๋ณ๊ฒฝํด๋ณด์
๋ฆฌํฉํ ๋ง์ผ๋ก ๋ ๋์ ์ฝ๋ ํ๋ฆ์ ๊ตฌํํ๋ค.
ํ์ง๋ง ์ฐ๋ฆฌ๋ event๋ฅผ ์ํด ํจ์๋ฅผ ์์ฑํ ๋๋ง๋ค render()
๋ฅผ ์์ผ๋ฉด ์ ๋๋ค.
๊ทธ๋ ๊ธฐ์, ์ด ๋ฐฉ๋ฒ์ ๊ทธ๋ ๊ฒ ์ข์ ๋ฐฉ๋ฒ์ด๋ผ ํ ์ ์๋ค.
์ฌ๊ธฐ์, ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฆฌ์กํธ ์์๊ฐ ๋ณ๊ฒฝ๋๋ ๋ถ๋ถ์ ์ฝ์์ฐฝ์ผ๋ก ๋น๊ตํด๋ณด์.
React๋ UI์์ ์ค์ง์ ์ผ๋ก ๋ฐ๋ ๋ถ๋ถ๋ง update๋๊ณ ์๋ ๊ฑธ ์ ์ ์๋ค.
์ฐ๊ณ๋ ๋ชจ๋ ์์๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ด ์๋๋ผ, ์ฐ๋ฆฌ๊ฐ ๋ฐ๊พผ ๋ถ๋ถ๋ง ์ ํ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ๊ฒ์ด๋ค.: React์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ค ํ๋