useEffect

정승원·2022년 4월 28일
0

react

목록 보기
14/16
post-custom-banner

useEffect

컴포넌트가 mount 되었을 때 또는, 컴포넌트가 update(재랜더링) 될 때
특정 코드를 실행함

  useEffect(()=>{
    console.log(11111)
  },[state1,state2]);
    useEffect(()=>{
    console.log(11111)
  },[]);

useEffect 여러개 사용가능
위에서부터 순차적으로 작동

useEffect(,[state1,state2])
[]안에 특정 state를 적으면 그 state가 변경이 될 때만 실행이 된다.
즉 업데이트가 될 때 무한실행을 막을 수 있음 !

빈칸으로도 남길 수 있고, 여러개 적을 수 있다.
빈칸일 경우에는 한번 실행하고 끝남 !

  useEffect(()=>{
    let 타이머 = setTimeout(()=>{
      alert변경(false)
    },2000)
    return ()=>{
      clearTimeout(타이머)
    }
  },[]);

useEffect안에 있는 return은 페이지를 벗어날 때 종료하고 싶은 코드 작성

예를 들어, setTimeout() 같은 경우에는 실행이 됐다가 시간이 지나기전에 사용자가 다른페이지로 이동할 경우도 있다.
이와 같은 경우에 버그가 발생할 수도 있다.
그래서 return 다음에 setTimeout 을 종료시키는 clearTimeout을 작성하면 된다 .

profile
Hell-o wo-orld
post-custom-banner

0개의 댓글