컴포넌트가 화면에 처음 나타난 뒤 데이터 요청이나 구독 시작 같은 작업을 실행합니다.
effect timing
라이프사이클 부수 작업 배치
함수형 컴포넌트에서는 useEffect가 마운트, 업데이트, 언마운트 주변에서 실행할 작업과 정리 작업을 맡습니다.
의존성 값이 바뀔 때 필요한 동기화 작업만 다시 수행하도록 범위를 좁힙니다.
타이머, 이벤트 리스너, 구독을 해제해 사라진 컴포넌트의 작업이 남지 않게 합니다.
effect 안에서 읽는 외부 값이 의존성 배열에 반영됐는지 본다.
데이터 요청 결과가 현재 컴포넌트에 유효한지 확인한다.
setInterval이나 listener를 정리 함수에서 해제한다.
렌더링 중 직접 실행하면 안 되는 작업인지 구분한다.