๐ย Reference
๐ย Chapter
Next.js
โฃ
Suspense
Streaming SSR
- Streaming SSR
- ์คํธ๋ฆฌ๋ฐ ์๋ฒ์ฌ์ด๋ ๋ ๋๋ง
- React 18๊ณผ Next.js App Router ์๋๋ฅผ ์ ์ํ๋ ๋ ๋๋ง ๋ฐฉ์์ด๋ค.
- ๊ทธ๋ฅ SSR(์๋ฒ์ฌ์ด๋ ๋ ๋๋ง)๊ณผ๋ ์์ ํ ๋ค๋ฅธ โ์คํธ๋ฆฌ๋ฐ ๊ธฐ๋ฐ์ ์๋ฒ ๋ ๋๋งโ์ด๋ค.
- ์๋ฒ๊ฐ ํ์ด์ง์ ์ผ๋ถ๋ถ๋ง ๋ ๋๋ง์ด ๋๋๋ ์กฐ๊ฐ(chunk) ๋จ์๋ก ์ฆ์ ๋ธ๋ผ์ฐ์ ๋ก ์ ์กํ๋ SSR ๋ฐฉ์
- ์ฆ, ์์ฑ๋ ๋ค ํ ๋ฒ์ ๋ณด๋ด๋ ๊ฒ ์๋๋ผ, ๋ง๋ค์ด์ง๋ ๋๋ก ์กฐ๊ธ์ฉ ๋ณด๋ด๋ SSR
- ์ฝ๊ฒ ๋น์ ํ๋ฉด, ๊ธฐ์กด SSR = ๋ค ๋์ธ ๋ผ๋ฉด์ ํ๊บผ๋ฒ์ ๋ด๋ ๊ฒ, Streaming SSR = ๋ฉด ๋จผ์ ์ฃผ๊ณ , ๊ตญ๋ฌผ ๋์ค์ ์ฃผ๋ ๊ฒ
- ์ฌ์ฉ์๋ โ์์ฑ๋๊ธฐ ์ ๋ถํฐ ๋ง๋ณด๊ธฐ ๊ฐ๋ฅโ โ ๋น ๋ฅธ ์ฒซ ๋ ๋(First Paint)
- Streaming SSR์ โ์๋ฒ๊ฐ React ์ปดํฌ๋ํธ๋ฅผ ๋ ๋ํ๋ฉด์, ์์ฑ๋ ๋ถ๋ถ๋ถํฐ ์ค์๊ฐ์ผ๋ก ๋ธ๋ผ์ฐ์ ์ ๋ณด๋ด์ฃผ๋ SSR ๋ฐฉ์โ
- React 18 + Suspense + Next.js App Router๊ฐ ๊ฒฐํฉ๋์ด ๋น ๋ฅธ ์ด๊ธฐ ๋ ๋๋ง(First Paint)๊ณผ ์์ฐ์ค๋ฌ์ด ๋ฐ์ดํฐ ๋ก๋ฉ์ ๋์์ ๊ตฌํํ๋ค.
๋์ ๊ณผ์
- React 18 + Next.js ๊ธฐ์ค
1. ๋ธ๋ผ์ฐ์ ๊ฐ /page ์์ฒญ
2. ์๋ฒ๊ฐ React ํธ๋ฆฌ ๋ ๋ ์์
3. ๋จผ์ ์์ฑ๋ ๋ถ๋ถ์ HTML chunk๋ก ์ ์ก
โโ <head>, <header>, skeleton ๋ฑ
โโ ์์ง ๋ฐ์ดํฐ ์ ์จ ์ปดํฌ๋ํธ๋ <Suspense fallback> ํ์
4. ๋๋ฆฐ ์ปดํฌ๋ํธ๊ฐ ์ค๋น๋๋ฉด ๋์ค์ chunk๋ก ์ ์ก
5. ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฐ์ ์์๋๋ก DOM์ ๋ถ์
6. ํด๋ผ์ด์ธํธ hydration ์งํ
- ์ฆ, ์๋ฒ๋ React ํธ๋ฆฌ๋ฅผ ๋์์ ๊ทธ๋ฆฌ๊ณ ๋์์ ์ ์กํ๋ค.