๐ย Reference
๐ย Chapter
โฃ
useInsertionEffect๋ CSS-in-JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์์๋ฅผ ์ํด ํน๋ณํ ์ค๊ณ๋ React ํ
์ด๋ค.useEffect๋ useLayoutEffect๋ณด๋ค ๋ ์ด๋ฅธ ์์ ์ ์คํ๋์ด, DOM์ด ๋ณ๊ฒฝ๋๊ธฐ ์ ์ ๋์ ์ผ๋ก CSS๋ฅผ ์ฝ์
ํ ์ ์๊ฒ ํด์ค๋ค.useInsertionEffect๋ CSS-in-JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฑ์๋ฅผ ์ํ ๊ฒ์ด๋ค.useEffect ๋๋ useLayoutEffect๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.useInsertionEffect์ ํต์ฌ์ ๋๊ธฐ์ ์ผ๋ก ์คํ๋๋ค๋ ์ ์ด๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ ์ค์ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
useInsertionEffect๋ ์ปดํฌ๋ํธ๊ฐ ํ๋ฉด์ ๊ทธ๋ ค์ง๊ธฐ ์ ์ CSS๋ฅผ ์ฝ์
ํ๋ฏ๋ก, ์ปดํฌ๋ํธ๊ฐ ์ฒ์๋ถํฐ ์ฌ๋ฐ๋ฅธ ์คํ์ผ์ ๊ฐ์ง ์ฑ๋ก ๋ ๋๋ง๋๋ค.useLayoutEffect์ฒ๋ผ ๋ ์ด์์์ ์ธก์ ํ๋ ํ
์ด ์คํ๋๊ธฐ ์ ์ ์คํ์ผ์ด ๋จผ์ ์ ์ฉ๋๋๋ก ๋ณด์ฅํ๋ค.useEffect๋ ๋ชจ๋ DOM ๋ณ๊ฒฝ์ด ๋๋ ํ ๋น๋๊ธฐ์ ์ผ๋ก ์คํ๋๊ธฐ ๋๋ฌธ์, CSS ์ฝ์
์ ์ฌ์ฉํ๋ฉด FOUC๊ฐ ๋ฐ์ํ ์ ์๋ค.useInsertionEffect๋ DOM ๋ณ๊ฒฝ ์ ์ ๋๊ธฐ์ ์ผ๋ก ์คํ๋๋ฏ๋ก CSS ์ฝ์
์ ๊ฐ์ฅ ์ ํฉํ๋ค.useInsertionEffect๋ ์ผ๋ฐ์ ์ธ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ฌ์ฉํ ์ผ์ด ๊ฑฐ์ ์๋ค. ์ฃผ๋ก Emotion, styled-components์ ๊ฐ์ CSS-in-JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ด๋ถ ๋ก์ง์์ ์ฌ์ฉ๋๋ค.