CODING/[React]
008. useEffect
ANX1Z3R0
2020. 11. 19. 10:50
useEffect = React의 생존주기와 관련이 있는 함수 = 동기화의 역할을 생각하면 된다.
화면에 render가 될 때 기준이며, mount시와 unmount시의 동작을 정할 수 있다.
포맷은 다음과 같다.
useEffect(()=>{
//mount시의 동작
return (
//unmount시의 동작
);
},[{/*deps*/}])
mount 동작 예시
- props 로 받은 값을 컴포넌트의 로컬 상태로 설정
- 외부 API 요청 (REST API 등)
- 라이브러리 사용 (D3, Video.js 등...)
- setInterval 을 통한 반복작업 혹은 setTimeout 을 통한 작업 예약
unmount 동작 예시
- setInterval, setTimeout 을 사용하여 등록한 작업들 clear 하기 (clearInterval, clearTimeout)
- 라이브러리 인스턴스 제거
deps
dependencies list (의존성 리스트)의 줄임말이며, 저 사이에 useEffect안에서 사용할 값을 넣어주면, 해당 값이 변할 때 다음 주기로 넘어가게(컴포넌트를 갱신하게) 설정할 수 있다.
useEffect(()=>{
//mount시의 동작
return (
//unmount시의 동작
);
})
생략하여 위와 같이 쓰게 되면, 리렌더링 될 때마다 실행되게 된다.