React.js
React๋ ์น ํ๋ ์์ํฌ๋ก, ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋๋ก์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
์ถ์ฒ : ์ํค๋ฐฑ๊ณผ
Why React.js โ
โ React ๋ Component ๊ธฐ๋ฐ์ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ๋ง์ฝ
Header
์์์ ๋ฌธ์ ๊ฐ ์๊ฒจ์ ์์ ํด์ผ ๋๋ ์ํฉ์ด๋ฉด - ๊ธฐ์กด ๋ฐฉ์์
Header
๋ฅผ ํฌํจํ๊ณ ์๋ ๋ชจ๋ ํ์ผ์ ์์ ํด์ผ ๋ฉ๋๋ค. - ํ์ง๋ง ์ปดํฌ๋ํธํ ๋ฐฉ์์ ์ปดํฌ๋ํธ๊ฐ ์ ์๋ ํ์ผ ํ๋๋ง ์์ ํ๋ฉด
๋ค๋ฅธ ํ์ด์ง๋ค์ ์๋์ผ๋ก ์์ ๋ฉ๋๋ค. - ์ฆ, ๊ณตํต์ผ๋ก ์ฌ์ฉ๋๋ ์์์ ์์ ์ฌํญ์ด๋, ๋ฌธ์ ๊ฐ ๋ฐ์ ํ์ ๊ฒฝ์ฐ ์์ ํ๊ธฐ ์์ํ๊ณ ,
์ ์ง๋ณด์๊ฐ ์ข์์ง๋๋ค.
โ React ๋ ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ
- ํ๋ก ํธ์๋ ์ธก๋ฉด์์ ์ค๋ฅธ์ชฝ์ ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ์ด ์์ฆ ์๋์ ๋ ๊ฐ๊ด ๋ฐ๊ณ ์์ต๋๋ค.
โ Virtual DOM ( ๊ฐ์ ๋ )
DOM
: ๋ธ๋ผ์ฐ์ ๊ฐ ์ค์ ๋ก ์ฌ์ฉํ๋ ๊ฐ์ฒด
- DOM ์ ํ๋ฆ
- DOM ์์ ๋ณํ๊ฐ ์ผ์ด๋ ๋ ๋ง๋ค ์์ ์์ ์ด ๊ณ์ ๋ฐ๋ณต ๋ฉ๋๋ค.
- ์ฆ์ ์ ๋ฐ์ดํธ์์ ํ์ ์ด์์ ์ฐ์ฐ์ด ํ์ํ๊ณ , ์ฑ๋ฅ ์ ํ์ ๋ฌธ์ ๋ก ์ด์ด์ง๋๋ค.
Virtual DOM
- ๊ธฐ์กด์ ๋ฐ์ํ๋ ๋ณํ๋ฅผ ์ค์๊ฐ์ผ๋ก
์ค์ DOM (ํ๋ฉด์ ๋ํ๋๋ DOM)
์ ์ ๋ฐ์ดํธ ํ์ง ์๊ณ ๊ฐ์์ DOM
์ ์ ๋ฐ์ดํธ ํ( ํ๋ฉด์ ์ค์ ๋ก ๊ทธ๋ฆฌ์ง๋ ์์ต๋๋ค.)- ์ ๋ฐ์ดํธ ํด์ผํ ๋ถ๋ถ์ ๋ชจ์์ ํ ๋ฒ์ ์ค์ DOM์ ์ ๋ฐ์ดํธ ํ๋ ๋ฐฉ์์ผ๋ก ๊ณผ๋ค ์ฐ์ฐ์ ํด๊ฒฐ ํ ์ ์์ต๋๋ค. ( 5๋ฒ ์ ๋ฐ์ดํธ ํด์ผํ ์ผ์ -> 1๋ฒ์ ํด๊ฒฐ ํ๋ค! )
โ ์ ๋ฆฌ
๋ฆฌ์กํธ๋ โ
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- SPA ๋ฅผ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์๋๋ก ํด์ฃผ๋ ๋๊ตฌ
โ ๋ฆฌ์กํธ์ ์ฅ์
- ๋น ๋ฅธ ์ ๋ฐ์ดํธ์ ๋ ๋๋ง ์๋
- ์ฌ์ฌ์ฉ์ฑ์ด ๋์ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ๊ตฌ์กฐ
- ํ๋ฐํ ์ง์ ๊ณต์ ์ ์ปค๋ฎค๋ํฐ
- ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ฅผ ํตํ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ ๊ฐ๋ฅ
โ ๋ฆฌ์กํธ์ ๋จ์
- ๋์ ์ํ ๊ด๋ฆฌ ๋ณต์ก๋
์ฐธ๊ณ
'๐ Front-End > React.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฌ์ฉ์ ์ ๋ ฅ ์ฒ๋ฆฌ (0) | 2022.10.23 |
---|---|
Props (0) | 2022.10.23 |
State(์ํ) (0) | 2022.10.23 |
JSX ๋ฌธ๋ฒ (0) | 2022.10.23 |
Create-React-App (0) | 2022.10.23 |