Hydration
Hydration์ด๋?
JS ์ฝ๋๋ค์ด DOM ์์ ์์ ๋ฌผ์ ์ฑ์ฐ๋ฏ์ด ํ์๋ก ํ๋ ์์๋ค์ ์ฑ์ด๋ค ํ์ฌ Hydrate(์ํ)๋ผ๋ ์ฉ์ด๋ฅผ ์ด๋ค.
Hydration์ด๋ ์๋ฒ์์ Pre-Rendering ๋ ์ ์ ํ์ด์ง๋ฅผ ๋ค์ React Tree์ ๋ง๊ฒ ํ์ฑํ๋ ํ์์ด๋ค.
์ด ๊ณผ์ ์ 2๋จ๊ณ๋ก ์ด๋ฃจ์ด์ง๋ค.
๋ ๋๋ง๋ ๊ฒฐ๊ณผ๋ฌผ์ด ์ด๋ค ์ปดํฌ๋ํธ์ ๋งค์นญ๋๋์ง ํ์ธ
๊ฐ ์ปดํฌ๋ํธ์ ๊ฑธ๋ฆฐ Event๋ฅผ ์ค์ DOM์ ์ฐ๊ฒฐ
๊ฐ DOM ์์์ JS์ฝ๋๋ฅผ ๋งค์นญ์ํค๊ธฐ ์ํ ๋ชฉ์ ์ด๋ฏ๋ก ํ์ด์ง๋ฅผ ๋ค์ ๊ทธ๋ฆฌ๋ Paint ๊ณผ์ ์ ์ผ์ด๋์ง ์๋๋ค.
ReactDOM.hydrateRoot()
Next.js ๋ด๋ถ์ ์ผ๋ก ๋์ํ๋ ReactDOM.hydrateRoot()
๋ ๋ค์๊ณผ ๊ฐ์ ์ผ์ ํ๋ค.
์๋ฒ์์ ํ๋ฆฌ ๋ ๋๋ง๋ DOM Tree์ ํด๋ผ์ด์ธํธ์์ ๋ ๋๋งํ React Tree๋ฅผ ๋น๊ตํ๋ค.
๋น๊ตํ๋ฉด์ ๊ฐ DOM์ด ์ด๋ค ์ปดํฌ๋ํธ์ ๋งค์นญ๋๋์ง ์ดํดํ๋ค.
์ดํดํ ๋ด์ฉ์ ๋ฐ๋ผ ์ด๋ฒคํธ๋ฅผ ์ฐ๊ฒฐํ๊ณ , CSR ๋์์ด ์ด๋ฃจ์ด์ง๋ค.
๋งค์นญํ๋ ๊ณผ์ ์์ ์์์ Text๋ attribute๋ ์ ๊ฒฝ์ฐ์ง ์๊ณ ๋ ๋๋ง๋ ์์์ ํ์ ๊ณผ ์์๋ง์ ๋น๊ตํ๋ค.
Last updated