Next.js
React๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํ์คํ ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ. ๋ฆฌ์กํธ์์๋ ๊ตฌํํ๊ธฐ ํ๋ SSR์ ๋ณด๋ค ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค.
/*
SSR(Server Side Rendering) : ํ๋ฉด์ ๊ตฌ์ฑํ๋ ์ฃผ์ฒด๊ฐ ์๋ฒ๋ก, ํด๋ผ์ด์ธํธ๊ฐ ํ์ด์ง๋ฅผ ์์ฒญํ๋ฉด HTML ๋ฌธ์ ์ ์ฒด๋ฅผ ๋ณด๋ด์ฃผ๋ ๋ฐฉ์
MPA(Multi Page Application) : ์ฌ๋ฌ ๊ฐ์ ํ์ด์ง๋ก ๊ตฌ์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ , ํ์ด์ง ์ ํ ์ ํ๋ฆฌ์ปค ํ์ ๋ฐ์
CSR(Client Side Rendering) : ํ๋ฉด์ ๊ตฌ์ฑํ๋ ์ฃผ์ฒด๊ฐ ํด๋ผ์ด์ธํธ๋ก, ์๋ฒ๋ ๋น html๋ง ๋ณด๋ด์ฃผ๋ฉฐ ํด๋ผ์ด์ธํธ ์ชฝ์์ jsํ์ผ์ ๋ณด๋ด๋ฉฐ ๋น html์ ์ฑ์์ค, ํ์ด์ง๊ฐ ์ ํ๋๋ฉฐ ํ๋ฉด์ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ธฐ๋ฉด ๊ทธ ๋ถ๋ถ๋ง js๋ก ๋ณํ์ํด
SPA(Single Page Application) : ํ ํ์ด์ง๋ก ๊ตฌ์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์
*/
์ฆ SPA ๋ฐฉ์๊ณผ MPA ๋ฐฉ์ ๋๋ค ์ฌ์ฉํ๊ณ ์๋๋ฐ, ๋๋ค ๊ฐ๋ฅํ ์ด์ ๋ Next.js์ ํ๋ฆฌ ๋ ๋๋ง ๋ฐฉ์ ๋๋ฌธ์ด๋ค.
ํ๋ฆฌ๋ ๋๋ง
๊ธฐ์กด ๋ฐฉ์ (์์ React ์ฑ)
- ๋น์ด์๋ HTMLํ์ผ์ ๋ถ๋ฌ์ ์ด๊ธฐ ๋ ๋๋ง
- ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ถ๋ฌ์ ๊ทธ ํ์ผ๋ก ๋์ ์กฐ์ํด ํ๋ฉด์ ๊ตฌ์ฑ
Next.js ๋ฐฉ์ (ํ๋ฆฌ๋ ๋๋ง)
- ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง HTML ํ์ด์ง๋ฅผ ๋จผ์ ๋ฐ์ ํ๋ฉด์ ์ฆ์ ๋ ๋๋ง
- ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ด ๋ก๋๋ผ ํ๋ฉด์ ๊ตฌ์ฑ
๋ ๋๋ง ์ ๋ต
SSR (Server Side Rendering) : ์์ฒญ์ด ๋ค์ด์ค๋ฉด HTML ์์ฑ, ๋งค๋ฒ ๋ง๋ค์ด ์ฌ์ฉ
SSG (Static Site Generation) : ์ ์ ํ์ด์ง ์์ฑ, ๋น๋ํ ๋ HTML ์์ฑ, ์ ์ฅํด๋๋ค๊ฐ ์ฌ์ฌ์ฉ
ISR (Incremental Static Regeneration) : ์ฆ๋ถ ์ ์ ์ฌ์์ฑ, SSG ๋ฐฉ์ ๊ธฐ๋ฐ์ผ๋ก, ์ผ์ ํ ์ฃผ๊ธฐ๋ง๋ค ํ์ด์ง๋ฅผ ์๋์ผ๋ก ์ฌ์์ฑํด ์ต์ ๋ฐ์ดํฐ ๋ฐ์
๋ฒ์ ์ฐจ์ด
12 Version | 13 Version | 14 Version | |
๋ผ์ฐํ ๋ฐฉ์ | ํ์ด์ง ๋ผ์ฐํ
(ํ์ผ ๊ธฐ๋ฐ ํ์ด์ง ๋ผ์ฐํ ) |
์ฑ ๋ผ์ฐํ | ์ฑ ๋ผ์ฐํ (ํ์ผ ๊ธฐ๋ฐ ๋ผ์ฐํ ๊ฐํ) |
Data Fetching | getStaticProps getStaticPaths getServerSideProps |
Server Component Client Component |
force-cache Server Actions(ํด๋ผ์ด์ธํธ์์ ์๋ฒ ํจ์๋ฅผ ์ง์ ํธ์ถํ ์ ์๋ ๋ฐฉ์) |
์๋ฒ ์์ฑ ๋ฐฉ๋ฒ | index.js | route.js | route.js |
๋ ์ด์์ ์์ฑ ๋ฐฉ๋ฒ | _app.js | layout.js | layout.js |
14๋ฒ์ ์ดํ๋ก๋ ๊ณต์ ๋ธ๋ก๊ทธ์์..
'react' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React / Debounce, Throttle (0) | 2025.04.24 |
---|---|
React / ๋ฒ๋ค๋ง, ์ฝ๋์คํ๋ฆฌํ (0) | 2025.04.24 |
React / lazy, Suspense (1) | 2025.04.24 |
React / React Developer Tools (0) | 2025.04.24 |
React / ์ต์ ํ ํจ์ (0) | 2025.04.23 |