๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

react

React / Next.js

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

 

 

12๋ฒ„์ „ / 13๋ฒ„์ „์˜ ๋ผ์šฐํŒ… ๋ฐฉ์‹

 

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