💚Mount(탄생) ===> 💙Update(업데이트) ===> 💜Unmount(죽음)
- Mount : 페이지에 나타남.
- Update : state, props 업데이트, 부모 컴포넌트 리렌더.
- Unmount : 페이지에서 제거됨.
어떤 값이 변경될 때마다 특정 코드를 실행하는 리액트 훅
useEffect(callback함수, [deps]);
✔ [deps]: 의존성 배열. 이 배열의 요소 값이 변경되면 콜백함수를 실행.
useEffect(() => {
console.log("count 업데이트: ", count);
}, [count]);
useEffect(() => {
console.log("업데이트: ", txt, count);
}, [count, txt]);
useEffect(() => {
console.log("컴포넌트 업데이트");
});
👉 useRef + 조건문 사용
import { useRef, useEffect, useState } from "react";
function App() {
(...)
const didMoutRef = useRef(false);
useEffect(() => {
if(!didMoutRef.current){
didMoutRef.current = true;
return;
} else {
console.log("업데이트!");
}
});
return (
(...)
);
}
export default App;
👉 의존성배열에 비어있는 [ ] 넣기 → 업데이트 지켜볼 대상 없음을 뜻함
useEffect(() => {
console.log("마운트");
}, []);
useEffect(() => {
(...콜백함수 실행)
return () => {
//클린업 실ㄹ행 부분
console.log("클린업");
};
});