예약 작업
setTimeout, setInterval은 cleanup에서
clear 함수로 취소한다.
`useEffect`는 렌더링 밖의 세계와 연결된다. 타이머, 이벤트, 구독, 요청을 열었다면 deps 변경과 언마운트 시점의 정리도 함께 둔다.
setTimeout, setInterval은 cleanup에서
clear 함수로 취소한다.
추가한 대상과 같은 핸들러로 removeEventListener를
호출한다.
WebSocket, RxJS, 외부 store 구독은 unsubscribe 함수를 반환한다.
새 요청이 이전 응답을 덮지 않도록 AbortController나 최신성 검사를 둔다.
effect가 외부 작업을 시작한다.
새 effect 전에 이전 cleanup이 먼저 실행된다.
마지막 cleanup으로 남은 연결을 닫는다.