Skip to main content

useEffect

  • 리액트 라이프 사이클에서 mount, update, unmount될 때 마다 특정 명령을 수행시킬 수 있다.

mount

useEffect(()=>{
console.log("Hello World");
},[])
  • mount는 html 렌더링이 끝난 후 동작한다.

update

const [count,setCount] = useState(0);

useEffect(()=>{
console.log("count update!");
},[count])
  • count state의 값이 변화가 일어날 경우에만 동작한다.

unmount

useEffect(()=>{
console.log("Hello");

return () => {
console.log("World");
}
},[])

useEffect(()=>{
let myTimer = setTimeout(()=> {
console.log("타이머 종료");
}, 2000);

return () => {
clearTimeout(myTimer);
}
})
  • return () => { } 에서 스코프 안의 동작이 컴포넌트가 unmount될 때 동작한다.