[WIL] React
React ์ ์ฌ์ฉํ๋์ ?
ํ๋ก ํธ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๋ ์ ์ํฌ โ
ํ๋ก์ ํธ๊ฐ ์ปค์ง๋ฉด์ DOM ์์๋ค ๋ํ ๋ณํ๊ฐ ์ด๋ฃจ์ด์ง๋๋ค. DOM ์์๋ค์ด ๋ณํํ๋ค๋ ๊ฒ์ ๋ ๋ ํธ๋ฆฌ ์ฌ์์ฑ, ์์์ ์คํ์ผ ๊ณ์ฐ, ๋ ์ด์์ ๊ตฌ์ฑ, ํจ์ธํ ํ๋ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋ค๋ ๊ฒ๊ณผ ๊ฐ๋ค.
์ฆ, ์ ์ ์ธํฐ๋์ ์ด ์ ๋ฌ๋๋ ๋งํผ ์ด์ ๊ฐ์ ๊ณผ์ ์ด ๊ณ์ ๋ฐ๋ณต๋์ด์ผ ํ๋ค ์ด๋ฌํ ๊ณผ์ ์ด ๋ฐ๋ณต๋๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ๋ง์ ์ฐ์ฐ์ ํด์ผํ๊ณ ๋ถํ์ํ ๋ฆฌ์์ค๋ฅผ ๋ญ๋นํ๊ฒ ๋๋ค. ์ด๋ฌํ ์ด์ ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๋ ์์ํฌ๋ DOM ๊ด๋ฆฌ์ ์ํ ๋ณํ ๊ด๋ฆฌ๋ฅผ ์ต์ํ ํ์ฌ ๋ถํ์ํ ๋ฆฌ์์ค ๋ญ๋น๋ฅผ ๋์ด์ ํ์ง ์๊ฒ ๋์์ค๋ค.
Reactโ
ํ์ด์ค๋ถ์์ ๊ฐ๋ฐํ๊ณ ๊ด๋ฆฌํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ฆฌ์กํธ๋ ๊ฐ์ ๋์ผ๋ก UI๋ฅผ ๋น ๋ฅด๊ฒ ์ ๋ฐ์ดํธ ํด์ฃผ๊ณ , ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์๋์ ์ฌ๋ ค๋๊ณ ์ด์ ๊ณผ ์ดํ๋ฅผ ๋น๊ตํ์ฌ ๋ณ๊ฒฝ๋ UI์ ์ต์ ์งํฉ์ ๊ณ์ฐํด์ค๋ค.
React ํน์งโ
- ์ปดํฌ๋ํธ ๊ธฐ๋ฐ์ ํ๋ฉด ๊ตฌ์ฑ
- ํ๋ฉด์ ํ ๋ถ๋ถ์ ์ปดํฌ๋ํธ ๋ผ๋ ๋จ์๋ก ๋๋์ด ๊ด๋ฆฌํ ์ ์๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ปดํฌ๋ํธ์ ์ญํ๊ณผ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๊ด๋ฆฌํ๊ธฐ ์ฉ์ดํ๋ฉฐ, ์ฌ์ฌ์ฉ์ฑ์ ๋์ฌ์ค๋ค.
- ์ปดํฌ๋ํธ์ ํ๋ฉด์ ๊ตฌ์ฑํ๋ค๋ฉด ๋ธ๋ก์๊ธฐ์ฒ๋ผ ์ปดํฌ๋ํธ๋ฅผ ์์์ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ํ๋ฉด์ ๊ตฌ์ฑํ ์ ์๋ค.
- ๊ฐ์ ๋์ผ๋ก ์ธํ ๋น ๋ฅธ ์๋
- ๋งค๋ฒ DOM ์ ์ฒด๋ฅผ ์ง์ ์ ๊ทผํ์ฌ ๋ณํ๋ฅผ ์ฃผ๋ฉด html, css, js ํ์ผ ์ ์ฒด๋ฅผ ๋ค์ ๋ฆฌ๋ ๋๋งํ๊ธฐ ๋๋ฌธ์ ๋๋ ค์ง์ ๋ฐ์ ์๋ค. ๊ทธ๋์ React๋ ๊ฐ์ ๋์ ์ด์ฉํ์ฌ DOM์ ์กฐ์ํ๋ ํ์๋ฅผ ์ค์ฌ์ ์ฑ๋ฅ์ ๋น ๋ฅด๊ฒ ๊ฐ์ ํ์๋ค.
- ์ถ์ฒ : ๊ฐ์ ๋์ด๋?
- ๋งค๋ฒ DOM ์ ์ฒด๋ฅผ ์ง์ ์ ๊ทผํ์ฌ ๋ณํ๋ฅผ ์ฃผ๋ฉด html, css, js ํ์ผ ์ ์ฒด๋ฅผ ๋ค์ ๋ฆฌ๋ ๋๋งํ๊ธฐ ๋๋ฌธ์ ๋๋ ค์ง์ ๋ฐ์ ์๋ค. ๊ทธ๋์ React๋ ๊ฐ์ ๋์ ์ด์ฉํ์ฌ DOM์ ์กฐ์ํ๋ ํ์๋ฅผ ์ค์ฌ์ ์ฑ๋ฅ์ ๋น ๋ฅด๊ฒ ๊ฐ์ ํ์๋ค.
[WIL] DOM์ด๋? (feat. Virtual DOM)
React์ DOM ๊ฐ๋ DOM ? DOM(Document Object Model)์ ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ์ ์๋ฏธํ๋ค. ๋ฐ๋ผ์ ์นํ์ด์ง๋ฅผ ์ด๋ฃจ๋ ํ๊ทธ๋ค์ ์๋ฐ ์คํฌ๋ฆฝํธ๊ฐ ์ด์ฉํ ์ ์๊ฒ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ํธ๋ฆฌ๊ตฌ์กฐ๋ก ๋ง๋ ๊ฐ์ฒด ๋ชจ๋ธ์ ์๋ฏธํ
wjh2144.tistory.com
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฐ
- ๋ฆฌ์กํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฐ์ผ๋ก ๋ณ๋์ ํ๋ ์์ํฌ๋ฅผ ๋ฐฐ์ธ ํ์๊ฐ ์์ผ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊ทธ๋๋ก ํ์ฉํ๋ฉด ๋๋ค.
- ๋จ๋ฐฉํฅ ๋ฐ์ดํฐํ๋ก์ฐ
- ๋ฐ์ดํฐ๊ฐ UI๋ก ํ๋ฅด๋ ๊ตฌ์กฐ์ด๋ฉฐ, ๋ฐ์ดํฐ๊ฐ ๋ณํ์๋ UI๊ฐ ์ ๋ฐ์ดํธ ๋๋ค. ํ์ง๋ง ๋จ๋ฐฉํฅ์ผ๋ก UI์ชฝ์์ ๋ฐ์ดํฐ๋ฅผ ๋ณํ์ํค๋ ๊ฒ์ ๋ถ๊ฐ๋ฅ ํ๋ค. ์ฆ ๋ฐ์ดํฐ๊ฐ ๋ณํ๊ฒ ๋๋ฉด UI๋ ๋ณํ๋ ์๋ก์ด ๋ฐ์ดํฐ์ ํจ๊ป ์ ๋ฐ์ดํธ ๋๋ค. ์ต๊ทค๋ฌ์ ๋น๊ตํ๋ฉด ์ต๊ทค๋ฌ์ ๊ฒฝ์ฐ ์๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ก์ฐ์ด๋ฉฐ, ๋ฐ๋๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ์ปดํฌ๋ํธ๊ฐ ์๊ณ ๋ฐ์ดํฐ๋ฅผ UI์ปดํฌ๋ํธ์ ์ ๋ฌํ๋ ๋จ์ํ ๋ฐ์ดํฐ ํ๋ฆ์ผ๋ก ์ดํดํ๊ธฐ ์ฝ๊ณ ํธ๋ฆฌํ๊ฒ ๊ตฌํ ๊ฐ๋ฅํ๋ค.
์ ๋ฆฌ ํ์๋ฉด,
์์ฅ์์ ์๊ตฌ๋๋ ์น ์๋น์ค์ ๊ท๋ชจ๊ฐ ์ปค์ง์ ๋ฐ๋ผ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ฉฐ ์์ฐ์ฑ์ ํฅ์+๋ง์ ์์ ๋ฐ์ดํฐ ๊ด๋ฆฌ+์ฝ๋ ์ ์ง ๋ณด์๋ฅผ ๋์ฑ ํธ๋ฆฌํ๊ฒ ํ๊ธฐ ์ํด ๋ค์ํ Frontend Framework(Library)๊ฐ ๋ฑ์ฅํ๊ฒ ๋๋ค. ๊ทธ ์ค ์ฐ์ด๋ ์ธ ๊ฐ์ง ์ค (Angular, Vue, React) React๋ ๊ฐ์ ๋, ์ปดํฌ๋ํธ ๋จ์ ๊ฐ๋ฐ, JSX ์ง์, ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง, ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง ์ง์, ํ๋ ์์ํฌ์๋ ํผ์ฉ ๊ฐ๋ฅ ์ด๋ผ๋ ํน์ง ๋๋ฌธ์ ๋ง์ด ์ฐ์ธ๋ค.
๐ฏ์ถ์ฒ
React ?
https://velog.io/@dea8307/React%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0
React๋ฅผ ์ฌ์ฉํ๋ ์ด์ ?
์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฐ์ฐ๊ณ Vue๋ฅผ ํตํด ์์ ํ๋ก์ ํธ๋ค์ ๋ง๋ค์์ต๋๋ค. ํ์ง๋ง, Vue๋ฅผ ํตํด ํ๋ก์ ํธ๋ฅผ ํ ๋ ๋ง์ ์ ์ฝ์ฌํญ๋ค(์ ๋ณด ๋ถ์กฑ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ถ์กฑ..)์ ๋ถ๋ชํ๊ฒ ๋์๊ณ ์์ฆ ํธ๋ ๋
velog.io
๋ฆฌ์กํธ ์ฅ์ , ๋จ์
https://helloworld-88.tistory.com/m/350
[React] ๋ด๊ฐ React๋ฅผ ์ ํํ ์ด์
๋๋ ๊ฐ๋ฐ ํธ๋ ๋๋ฅผ ๊ตฌ์ง์ฌ์ดํธ๋ฅผ ํตํด ์ป๊ณ ๋ ํ๋ค. ํนํ, ๊ฐ๋ฐ์ ๋ชจ์ง๊ณต๊ณ ์ ์ง์์๊ฒฉ ์์น๋ฅผ ํตํด ์น ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ฐ์ ์ ๋ฐ๋ฅธ ๊ฐ๋ฐ ํธ๋ ๋์ ๋ณํ์ ์ฃผ๋ชฉํ๋ ํธ์ธ๋ฐ ์ด๋ฌํ ํธ๋ ๋์ ๋ณํ
helloworld-88.tistory.com
์ฌ์ฉ ํ๋ ์ด์
https://gurtn.tistory.com/m/96
[React] ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๋ ์ด์
1. ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ํํ ์ฐ๋ฆฌ๊ฐ ์์ฃผ ๋ณด๋ Instagram, facebook ๊ฐ์ ์ฌ์ดํธ์ ์๋ก๊ณ ์นจ์ด ์์ด ๋ณ๊ฒฝ๋๋ ๋ชจ์ต, ๋ง์น ์ฑ์ฒ๋ผ ๋ณด์ด๋ ๋์ ์ธ ์น ํ์ด์ง SPA(Single Page Application), CSR(Client Side Renderin
gurtn.tistory.com
์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง, ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง
[React] ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง(CSR)๊ณผ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง(SSR)
๋ ๋๋ง์ด๋? ์๋ฒ๋ก๋ถํฐ HTML ํ์ผ์ ๋ฐ์ ๋ธ๋ผ์ฐ์ ์ ๋ณด์ฌ์ฃผ๋ ๊ณผ์ ์ ๋๋ค. ์ฌ๊ธฐ์ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง๊ณผ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง์ ์ด๋ป๊ฒ ํ๋ฉด์ ๋ ๋๋ง ํ๋์ง ์ฐจ์ด๊ฐ ์์ต๋๋ค. ํด๋ผ์ด์ธ
itprogramming119.tistory.com