Intro
์๋ ํ์ธ์. ์ด๋ฒ์๊ฐ์๋ React ์์ return ์ ์ปดํฌ๋ํธ๋ฅผ ํ๋๋ก ๊ฐ์ธ๋ ์ด์ ์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Why?
React์์ JSX๋ฅผ ์ฌ์ฉํ๋ฉด HTML๊ณผ ์ ์ฌํ ๊ตฌ๋ฌธ์ผ๋ก JavaScript๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. JSX๋ JavaScript ํํ์์ด๋ฏ๋ก, ๋ฆฌ์กํธ ์ปดํฌ๋ํธ์ ๋ฐํ ๊ฐ์ผ๋ก ์ฌ๋ฌ ์์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ด๋ฌํ ์์๋ค์ ํ๋์ ๋ฃจํธ ์์๋ก ๋ฌถ์ด์ฃผ์ด์ผ ํฉ๋๋ค.
React์ ๊ฐ์ DOM(virtual DOM)์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋จ์ผ ๋ฃจํธ ๋ ธ๋๋ง์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ปดํฌ๋ํธ๊ฐ ์ฌ๋ฌ ์์๋ฅผ ๋ฐํํ๋ฉด React๋ ์์๋ค์ ๋จ์ผ ๋ฃจํธ ๋ ธ๋๋ก ๊ผญ ๋ฌถ์ด์ค์ผ ํฉ๋๋ค.
Method
React์์ ์ด๋ฌํ ์์ ์ ์ํํ๊ธฐ ์ํ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์, ์ฌ๋ฌ ์์๋ค์ <div> ๋๋ <React.Fragment>์ ๊ฐ์ ๋ ธ๋๋ก ๋ฌถ์ด์ฃผ๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ์์๋ค์ ๊ฐ์ DOM์์๋ ๋ ๋๋ง๋์ง ์์ผ๋ฏ๋ก ์ค์ DOM์๋ ์ถ๊ฐ์ ์ธ ์์๊ฐ ์ถ๊ฐ๋์ง ์์ต๋๋ค.
Tips
React v16 ์ด์์์๋ ๋น ํ๊ทธ(<></>)๋ฅผ ์ฌ์ฉํ์ฌ React.Fragment ๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฝ๋๊ฐ ๋ ๊ฐ๊ฒฐํด์ง๋ฉฐ, ๋ถํ์ํ ๋ํผ ์์๊ฐ ์ฌ๋ผ์ง๋๋ค. React์์ ์ฌ๋ฌ ์์๋ฅผ ๋ฐํํ ๋๋ ์ด๋ฌํ ์์๋ค์ ํ๋์ ๋ฃจํธ ์์๋ก ๋ฌถ์ด์ฃผ์ด์ผ React๊ฐ ์์๋ค์ ์ฌ๋ฐ๋ฅด๊ฒ ๋ ๋๋งํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
'Framework > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Material UI] Typography variant ์ปค์คํ ํ๋ ๋ฐฉ๋ฒ (0) | 2023.07.10 |
---|---|
[Material UI] Dialog background color ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ (0) | 2023.07.10 |
[React] Material-UI (mui) theme.spacing(1) ๋จ์ ์๋ฏธ + ํฝ์ (0) | 2023.05.08 |
[React] recharts chart ๋์ด 100% ์ค์ ํ๋ ๋ฐฉ๋ฒ (+ typescript) (0) | 2023.04.29 |
[React] Zustand ์ค์น ๋ฐฉ๋ฒ ๋ฐ ์์ ์ดํด๋ณด๊ธฐ (0) | 2023.04.17 |