๋ชฉ๋ก
- Introduction
- onMount, onUnMount
- Conclusion
๐ Introduction
์๋ ํ์ธ์ ์ค๋์ react์ useEffect hooks์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.
๐ onMount, onUnMount
๊ฐ๋จํ๊ฒ onMount์ onUnMount๋ฅผ useEffect์์ ํ๋ฒ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค. onMount๋ vue์์ created() ๋ณด๋ค mounted์ ๊ฐ๊น์ต๋๋ค. ๊ทธ๋์ dom์ ์ ๊ทผ๋ ๊ฐ๋ฅํฉ๋๋ค.
// onMount
useEffect(() => {
console.log("์ปดํฌ๋ํธ๊ฐ ํ๋ฉด์ ๋ํ๋จ");
// onUnMount
return () => {
console.log("์ปดํฌ๋ํธ๊ฐ ํ๋ฉด์์ ์ฌ๋ผ์ง");
};
// deps -> dependecies์ ์ฝ์
}, []);
useEffect๋ ์์ ์ฃผ๊ธฐ๋ฅผ ๊ฐ๋ฆฌํค๋ ํจ์ ์ ๋๋ค. return์์์ ํจ์๋ ํด๋น ์ปดํฌ๋ํธ๊ฐ ์์ด์ง๋ ์คํ์ด ๋ฉ๋๋ค.
๋ง์ฝ์ ๊ทธ๋ผ ๋๋ฒ์งธ ์ธ์์ธ ๋ฐฐ์ด์ด ์ฐจ์๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
useEffect(() => {
console.log("์ ์ ๊ฐ์ด ์ค์ ๋จ");
console.log(user);
return () => {
console.log("์ ์ ๊ฐ์ด ๋ฐ๋๊ธฐ ์ ");
console.log(user);
};
}, [user]);
์ด๋ ๊ฒ โญ๏ธโญ๏ธuser์ ๊ฐ์ด ์ค์ ๋๊ฑฐ๋ ๋ฐ๋๋ useEffect ๋ด๋ถ์ ํจ์๊ฐ ์คํ๋๊ฒ ๋ฉ๋๋ค. useEffect ๋ด๋ถ์์ ์ํ ๊ฐ์ด๋ props๋ฅผ ๊ฑด๋๋ฆฌ๊ฒ ๋๋ค๋ฉด ๊ผญ ๋ฐฐ์ด์์ ๋ช ์๋ฅผ ํด์ฃผ์ธ์. ๊ทธ๋ ์ง ์๋ค๋ฉด ์ต์ ์ ๊ฐ์ ์ฐธ๊ณ ํ์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ๋ ์์ต๋๋ค.
๐ Conclusion
์ค๋์ useEffect์ ๋ํด์ ์์๋ณด์์ต๋๋ค. useEffect
๋ ์ฐธ ๋ค๋ฃจ๊ธฐ ์ฝ์ง ์์ hooks์ธ๊ฑฐ ๊ฐ์์. ์ผํ๋ณด๋ฉด vue์์์ ์์ ์ฃผ๊ธฐ ํจ์์ watch๋ฅผ ์์ด๋์ ๋ฏํ ๋๋์ ๋ง์ด ๋ฐ๋ ํจ์์ธ๊ฑฐ ๊ฐ์ต๋๋ค. ๊ทธ๋ผ ๋ค์ ํฌ์คํ
์์ ๋ง๋์ ! ์๋
!
'React Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React - useCallback (0) | 2020.12.07 |
---|---|
React - useMemo (0) | 2020.12.06 |
React - ๋ฐฐ์ด ์กฐ์ํ๊ธฐ (0) | 2020.12.05 |
React - useRef ๋ณ์ ์ ์ธํ๊ธฐ (0) | 2020.12.05 |
React - ๋ฐฐ์ด ๋๋๋ง (0) | 2020.12.03 |