useEffect는 어떤 컴포넌트가 마운트, 업데이트, 언마운트를 관리하고 싶을 때 사용합니다.
1. 랜더링 될때마다 실행
useEffect(()=>{
})
2. dependency array 를 활용하여 화면에 첫 렌더링 될때만 실행
useEffect(()=>{
}, []// <- dependency array)
const [value, setValue] = useState(0);
3. value가 업데이트 될 때 만 실행
useEffect(()=>{
}, [value])
4. clean up 컴포넌트가 unmount 될 경우
useEffect(()=>{
const timer = setInterval(() => {
console.log("타이머 돌아가는중")
}, 1000)
// clean up(unmount 시 적용)
return () => {
clearInterval(timer);
console.log("타이머가 종료 되었습니다.")
}
},[])