๐Ÿšค ์„ฑ์žฅ์ผ์ง€ 7.0

์ฑ… ํ–‰๋ณตํ•œ ์ด๊ธฐ์ฃผ์˜์ž(์›จ์ธ ๋‹ค์ด์–ด)์˜ ๋‚ด์šฉ์— ์ž๊ทน๋ฐ›์•„ ์‹œ์ž‘ํ•˜๋Š” ์†Œ๋ฐ•ํ•œ ์„ฑ์žฅ๊ธฐ๋ก

์‚ด์•„์žˆ๋Š” ๊ฝƒ๊ณผ ์ฃฝ์€ ๊ฝƒ์€ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ณ„ํ•˜๋Š”๊ฐ€?
์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์‚ด์•„ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
์ƒ๋ช…์˜ ์œ ์ผํ•œ ์ฆ๊ฑฐ๋Š” ์„ฑ์žฅ์ด๋‹ค!

โš› (7.0)<์™„์ „ ๊ฐœํŽธ> ํŒŒ์ธ๋งŒ ํ•™์Šต๋ฒ•์„ ์•Œ๊ฒŒ ๋œ๋งŒํผ, ์„ฑ์žฅ์ผ์ง€๋Š” ์ •๋ง ๊ทธ ๋‚ ์˜ ํ‚ค์›Œ๋“œ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋„๋ก ํ•œ๋‹ค.

โš›๏ธ ํ‚ค์›Œ๋“œ: ์ง๊ด€์ ์ด๊ณ  ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์„ฑ

Next.js: page routing vs app routing

page routing(v.12)

  • pages ๋””๋ ‰ํ† ๋ฆฌ์— ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋ฉด, ํ•ด๋‹น ํŒŒ์ผ์˜ ์ด๋ฆ„์„ URL๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ณดํ†ต ์›ํ•˜๋Š” page์˜ ์ด๋ฆ„์— ํ•ด๋‹นํ•˜๋Š” ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ํด๋” ์•ˆ์— index.tsx ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฉฐ ํด๋” ๊ตฌ์กฐ์— ๋”ฐ๋ผ URL์ด ๊ฒฐ์ •๋œ๋‹ค.

app routing(v.13)

  • app ๋””๋ ‰ํ† ๋ฆฌ์— page๋ฅผ ์ƒ์„ฑํ•˜๋ฉด, ํ•ด๋‹น ํŒŒ์ผ์˜ ์ด๋ฆ„์„ URL๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Next.js: Client Component vs Server Component

Client Component

  • ๋ง ๊ทธ๋Œ€๋กœ ํด๋ผ์ด์–ธํŠธ ์ฆ‰, ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋ฆฌ์•กํŠธ์—์„œ ์ž‘์„ฑํ•˜๋˜ ์ปดํฌ๋„ŒํŠธ์ด๋‹ค!
  • use client๋ฅผ ์„ ์–ธํ•จ์œผ๋กœ์จ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Server Component

  • app router๋ถ€ํ„ฐ๋Š” app ํด๋” ํ•˜์œ„์˜ ์ปดํฌ๋„ŒํŠธ๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋‘ Server Component์ด๋‹ค.

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฑด, Client Component๋ผ๊ณ  ํ•ด์„œ ๋ฐ˜๋“œ์‹œ CSR ํ˜•ํƒœ์˜ ๋ Œ๋”๋ง ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

๐Ÿ“ ํšŒ๊ณ 

์•„ํโ€ฆ ์‚ฌ์‹ค ์œ„์˜ ๋‚ด์šฉ๋ง๊ณ ๋„ ์ •๋ฆฌํ•  ๊ฒƒ๋“ค์ด ๋„ˆ์–ด์–ด์–ด์–ด์–ด๋ฌด ๋งŽ๊ณ  ๋ฐฐ์šด ๊ฒŒ ๋„ˆ์–ด์–ด์–ด์–ด์–ด๋ฌด ๋งŽ์€ ํ•˜๋ฃจ์˜€๋‹ค. ๋น ๋ฅด๊ฒŒ ๊ธฐ์ˆ ์„ ์ ์šฉํ•ด๋ณด๊ณ  ์‹ถ๊ณ  ๋ฐฐ์›Œ๋ณด๊ณ  ์‹ถ์–ด์„œ ์š•์‹ฌ๊ป ๊ฐ•์˜๋“ฃ๊ณ  ์งง๊ฒŒ ์‹ค์Šตํ•ด๋ณด๊ณ  ํ–ˆ๋Š”๋ฐ, ์˜ค๋Š˜ ๋‹ค ์ •๋ฆฌํ•˜๊ธฐ์—” ๋ฌด๋ฆฌ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๋”ฐ๋กœ ์žก๋™์‚ฌ๋‹ˆ์— Next.js์— ๋Œ€ํ•œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณผ ์ƒ๊ฐ์ด๋‹ค.

์ฐธ๊ณ