
constructorrendercomponentDidMountgetDerivedStateFromPropsshouldComponentUpdatecomponentDidUpdatecomponentWillUnmount// 의존성 배열을 작성하지 않은 경우
useEffect(() => {
컴포넌트가 Mount되거나 Update될 때마다 실행
});
// 의존성 배열에 빈 배열을 넘긴 경우
useEffect(() => {
컴포넌트가 처음 Mount 될 때만 실행
}, []);
// 의존성 배열에 요소를 넘기는 경우
useEffect(() => {
의존성 배열의 요소 중 하나라도 값에 변경이 있으면 실행
}, [의존성1, 의존성2, ..]);
// callback 함수 안에 return으로 다른 callback 함수를 반환할 때
useEffect(() => {
컴포넌트가 처음 Mount 될 때만 실행
return () => {
// 컴포넌트가 Unmount될 때 실행될 클린업 함수
};
}, []); Mount (최초 렌더링 시)
useEffect(() => {
console.log("컴포넌트가 마운트되었습니다.");
}, []); // 의존성 배열이 비어 있으면 Mount 시 실행
Update (특정 값 변경 시)
useEffect(() => {
console.log("number 값이 변경되었습니다.");
}, [number]); // number 값이 변경될 때만 실행
Unmount (제거 직전 뒷정리 작업)
useEffect(() => {
return () => {
console.log("컴포넌트가 언마운트됩니다.");
};
}, []); // 의존성 배열이 비어 있어 Unmount 시 실행