์ฐธ๊ณ ์๋ฃ: https://frontendmasters.com/blog/react-internals-which-useeffect-runs-first/
๋ถ๋ชจ-์์ ๊ตฌ์กฐ์์ useEffect๋ ๋๊ตฌ ๋จผ์ ์คํ๋ ๊น?
์์๊ณผ ๋ฌ๋ฆฌ, ์์ ์ปดํฌ๋ํธ์ useEffect๊ฐ ๋จผ์ ์คํ๋๋ค.
์ ๊ทธ๋ฐ ๊ฑธ๊น?
function Parent() {
useEffect(() => {
console.log('Parent effect');
}, []);
return <Child />;
}
function Child() {
useEffect(() => {
console.log('Child effect');
}, []);
return <div />;
}
function App() {
return <Parent />;
}
Child effect
Parent effect
React๋ ๋ ๋๋ง๊ณผ effect ์คํ์ ๋ค์๊ณผ ๊ฐ์ 3๋จ๊ณ๋ก ๋๋ ์ฒ๋ฆฌํ๋ค:
App โ Parent โ Child ์์ผ๋ก ์์์ ์๋๋ก ์ปดํฌ๋ํธ๋ฅผ ์คํํ๋ฉฐ JSX ๋ฐํuseEffect()๋ ์คํ๋์ง ์๊ณ , ๋ด๋ถ์ ์ผ๋ก ๋ฑ๋ก๋ง ํด๋๋คuseEffect()๋ฅผ Effect Queue์ ๋ชจ์๋๋คuseEffect() ์ฝ๋ฐฑ์ด ์ค์ ๋ก ์คํ๋๋ค