๐ Reference
๐ย Chapter
โฃ
โฃ
โฃ
Next.js
useId
Suspense
Hydration
- Hydration
- ํ์ด๋๋ ์ด์
- ํ์ด๋๋ ์ด์
์ SSR๊ณผ CSR์ ์ฅ์ ์ ๊ฒฐํฉํ ๋ฐฉ์์ผ๋ก, ์๋ฒ์์ HTML์ ๋ ๋๋งํ์ฌ ๋น ๋ฅธ ์ด๊ธฐ ๋ก๋ฉ ์๋๋ฅผ ์ ๊ณตํ๊ณ , ์ดํ ํด๋ผ์ด์ธํธ์์ JavaScript๋ฅผ ์คํํ์ฌ ํ์ด์ง๋ฅผ ๋์ ํ(interactive) ํ๋ค.
- ์นํ์ด์ง๋ฅผ ๋๋๋งํ๋ ๊ณผ์ ์์ React์ ๊ฐ์ CSR(Client Side Redering) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฒ๋ค๋ JS๋ฅผ ๊ฐ์ ธ์ DOM์ ๋๋๋ง ํ๋ค.
- ์ด๋ฌํ ๋ฐฉ์์ ๋ง์ ์ฅ์ ๊ณผ ํจ๊ป ์ด๊ธฐ ๋๋๋ง์ ์๋ ์ ํ, SEO์ ํ๊ณ ๋ฑ๊ณผ ๊ฐ์ ๋ฌธ์ ์ ๋ํ ๊ฐ์ง๊ณ ์๋ค.
- ๊ทธ๋์ ์ํฉ์ ๋ฐ๋ผ SSR(Server Side Rendering)์ ์ ํํ๊ณค ํ๋๋ฐ, SSR์ ์ฌ์ฉํ๋ฉด ์ธ๊ธํ CSR์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- SSR๊ณผ CSR ์ค ๋ฌด์์ด ๋ ์ข์ ๋ฐฉ์์ด๋์ ๋ํ ์ค๋ ๋
ผ์์ด ์์ง๋ง ์ด๋ค ํ๋ก์ ํธ์ด๊ณ ๋ฌด์์ ์ค์ ์ ๋๋๋์ ๋ฐ๋ผ ์ฅ๋จ์ ์ด ์์ด ์๋ค.
- ๊ทธ๋์ ๊ฐ๋ฐ์๋ค์ Server Side ๋จ์์ ๋จผ์ ์ ์ ํ์ด์ง๋ฅผ ๋ ๋๋งํ๊ณ JSํ์ผ๋ค๋ ๋ฒ๋ค๋งํ ํ์ ๋ ๋ค Client Side๋ก ๋ณด๋ด์ฃผ๋ ์๊ฐ์ ํด๋๋ค.
- ํ์ง๋ง ๊ทธ DOM์๋ ๋์ ์ธ ์ด๋ฒคํธ๊ฐ ํ๋๋ ์๋ ๋ฉ๋ง๋ฅธ ๋ผ๋ ์ํ์ผ ๊ฒ์ด๋ค.
- ๊ทธ๋์ ์ด ๋ฉ๋ง๋ฅธ ๋ผ๋์ ์๋ถ์ ๋ณด์ถฉํด์, ์ฆ HTML ์ฝ๋์ JS ์ฝ๋๋ฅผ ์๋ก ๋งค์นญ์์ผ ๋์ ์ธ ์น์ฌ์ดํธ๋ฅผ ๋ธ๋ผ์ฐ์ ์ ๋๋๋งํ๋ ๊ธฐ์ ์ด ๋ฑ์ฅํ๋๋ฐ ์ด๊ฒ ๋ฐ๋กย Hydratation์ด๋ค.
- ๊ทธ๋์ Hydration์ ํ๊ธ๋ก ์ง์ญํ๋ฉด ์๋ถ ๋ณด์ถฉ์ด๋ผ๊ณ ๋งํ ์ ์๋ค.
- Hydration์ ์๋ฒ์์ ์ด๋ฏธ ๋ง๋ค์ด์ง HTML์ ํด๋ผ์ด์ธํธ ์ธก JavaScript ์ฝ๋๋ฅผ ์ ์ฉํ์ฌ ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ๋ถ์ด๊ฑฐ๋ ๋์ ์ธ ๊ธฐ๋ฅ์ ํ์ฑํํ๋ ๊ณผ์ ์ ๋งํ๋ค. ์ด ๊ณผ์ ์ ํตํด ์ ์ ์ธ HTML ํ์ด์ง๊ฐ ์ํธ์์ฉ ๊ฐ๋ฅํ ์น ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก โ๋ณ์ โํ๊ฒ ๋๋ค.
- Hydration์ ์๋ฒ๊ฐ ์ฌ์ ๋ ๋๋ง๋ HTML ํ์ผ์ ์ ์กํ ํ ๋ฒ๋ค๋ง๋ Javascript ํ์ผ์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ์กํ์ฌ, ํด๋ผ์ด์ธํธ์์ HTML ์ฝ๋์ Javascript ์ฝ๋๋ฅผ ์๋ก ๋งค์นญ์ํค๋ ๊ณผ์ ์ ๋งํ๋ค.
- Hydration ์ดํ, ์ดํ๋ฆฌ์ผ์ด์
์ ์ธํฐ๋ ํฐ๋ธํ ๋์์ ์ํํ ์ ์๊ฒ ๋๋ค.