1. JSX
XML ๊ฐ์ ๋ฌธ๋ฒ ํ์ฅ
, JS๋ฅผ ํ์ฅํ ๋ฌธ๋ฒ
.
React.createElement์ ์ฐ๋ JavaScript ์ฝ๋๋ก ๋ณํ๋๋ค.
์ค๊ดํธ๋ฅผ ์จ์ JavaScript ์ฝ๋๋ฅผ ๊ทธ๋๋ก ์ธ ์ ์๊ณ , ๊ฒฐ๊ตญ์ JavaScript ์ฝ๋์ 1:1๋ก ๋งค์นญ๋๋ค.
babel์ ์ด์ฉํด ์ด๋ป๊ฒ ๋ณํ๋๋์ง ํ์ธํ ์ ์๋ค.
React Element
JSX ์ฐ์ง์๊ณ React.createElement๋ฅผ ์จ์ React Element ํธ๋ฆฌ๋ฅผ ๊ฐฑ์ ํ๋๋ฐ ์ธ ์ ์๋ค. ํ์ ์๋๋ค.
JSX Runtime์ _jsx๋ ํจ์๋ฅผ, Preact๋ h๋ ํจ์๋ฅผ ์ง์ ์ง์.
๋ด๋ถ์ ์ผ๋ก createElement ๋์ ๋ฆฌ์กํธ 17๋ถํฐ ์ ๊ฑธ ์ด์ฉํด ๋์ ๊ทธ๋ฆฐ๋ค๋๊ฑฐ.
VDOM (Virtual DOM)
Virtual DOM (VDOM)์ UI์ ์ด์์ ์ธ ๋๋ โ๊ฐ์โ์ ์ธ ํํ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๊ณ ReactDOM๊ณผ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ํด โ์ค์ โ DOM๊ณผ ๋๊ธฐํ
ํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋
.
์ด ๊ณผ์ ์ ์ฌ์กฐ์
์ด๋ผ๊ณ ํฉ๋๋ค.
์ฌ์กฐ์
๋ ธ๋๋ฅผ ๋ง๋ค๋ ์ด๋ ๋ฐ๊ผ๋ค, ์๋ฐ๊ผ๋ค ์ด๋ฐ๊ฑฐ ์ํด์ค๋ค. ๋ฌด์กฐ๊ฑด ์๋ ์ฝ๋๊ฐ์๊ฑฐ ์ฌ์คํ.
ํธ๋ฆฌ๋ฅผ ๋ฐ๊ฟ์ฃผ๋๊ฑฐ๊ณ ๊ทธ๊ฒ๊ณผ ํ๋ฉด์ ๊ณ์ ๋น๊ต.
์ฌ์ค์ ์ผ์ ๋ ๋ฒ ํ๋๊ฒ.
react developer tool
์ ์ด์ฉํด์ ์ปดํฌ๋ํธ ๊ตฌ์กฐ๋ฅผ ํ์ธํ ์ ์๋ค.
์ ํํ VDOM์ ๋ณด์ฌ์ฃผ๋๊ฑด ์๋๋ค.
์ํ๋ง๋ค ๋ฆฌ๋ ๋๋๋ ์ปดํฌ๋ํธ๋ ํ์ธํ ์ ์๋ค. ๋๋ฒ๊น ์ ์ ์ฉ.
VDOM์ ์ฐ๋ ์ด์
๋ฌด์์ VDOM์ ์ฐ๋๊ฒ ๋น ๋ฅด๋ค๋ ์๊ฒฌ์ ๋ง์ง ์๋ค. (svelte์ "vdom์์จ? ์์ด๋ ์ข์๋ ?")
์ ์ง๋ณด์์ ์ ๋ฆฌํ๊ธฐ ๋๋ฌธ. ์ ์ธํ UI
๋ก ๋ ๋์ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ์ด๋ค.
์ค์ํ ๊ฒ์, VDOM์ด ๋ฌด์์ด๊ณ ์ ์ฐ๋์ง ์๋ค๋ฉด ํ์ฉํ ์ ์๋ ์ต์ ํ ๊ธฐ๋ฒ
์ด ์๋ค๋ ๊ฒ.
Last updated