ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐Ÿšจ ๋ฌธ์ œ ๋ฐœ์ƒ
Vercel ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๋˜์ค‘ ๋นŒ๋“œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ
๋ช‡๋ช‡์€ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ์žก์•˜์œผ๋‚˜, ๋ฉ”์„ธ์ง€๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ์˜ ์›์ธ์ด ๋ฐ”๋กœ ๋‚˜ํƒ€๋‚˜์ง€์•Š๋Š” ์—๋Ÿฌ๋“ค์ด ์กด์žฌ.

 

๐Ÿ› ๏ธ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •
์†Œ๊ฑฐ๋ฒ•์„ ์ด์šฉํ•ด ํด๋”, ํŒŒ์ผ, ์ฝ”๋“œ๋“ค์„ ํ•˜๋‚˜์”ฉ ๋น„ํ™œ์„ฑํ™” ํ•˜๋ฉด์„œ ๋ฌธ์ œ ์›์ธ ๋ถ„์„

 

๐Ÿ”ฅ ์ฐพ์•„๋‚ธ ๋ฌธ์ œ์ 
1. Next.js๋Š” ๋นŒ๋“œ ํƒ€์ž„์— ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ์‚ฌ์ „์— ๋ Œ๋”๋ง(SSR) ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ HTML ํ˜•ํƒœ๋กœ ๋ Œ๋”๋ง ์ง„ํ–‰.
โœ”๏ธ ์ด ์‹œ์ ์—์„œ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์ „์šฉ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ โžก๏ธ ์„œ๋ฒ„์—๋Š” window๋‚˜ document ๊ฐ™์€ ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Œ

2.Session storage ๋‚˜ useSearchParams ๊ฐ™์€ URL ๋งค๊ฐœ๋ณ€์ˆ˜ ํ›…์€ ๋นŒ๋“œ ์‹œ์ ์—์„œ ๋นŒ๋“œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ
โœ”๏ธ next.js๋Š” ‘use client’๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง์ด๋ผ HTML์ด ๋น„์–ด ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ

2. sessionStoage

 

๐Ÿช™ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
1. useEffect / typeof window !== undefined ์‚ฌ์šฉํ•˜๊ธฐ
- useEffect๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ Œ๋”๋ง ํ›„ ์‹คํ–‰
- ์กฐ๊ฑด๋ฌธ์—์„œ typeof window! == undefined ์ธ ๊ฒฝ์šฐ ์ฒดํฌ

2. Suspense ํ›… ์‚ฌ์šฉํ•˜๊ธฐ
ํŠน์ • ๊ตฌ์—ญ์˜ ์ปดํฌ๋„ŒํŠธ ๋ Œ๋”๋ง์„ ์ง€์—ฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ Suspenseํ›…์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์ค€๋น„๋  ๋•Œ๊นŒ์ง€ ์ง€์—ฐ์‹œํ‚ค๊ธฐ
- <Suspense> ํ›…์€ React์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ธฐ๋‹ค๋ฆด ๋•Œ ์‚ฌ์šฉ
- childern์ด ๋กœ๋”ฉ๋˜๊ธฐ ์ „์— fallback์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์Œ

typeof window! == undefined
useEffect
Suspense ํ›…

 

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
๊ธ€ ๋ณด๊ด€ํ•จ