DEPS · CLEANUP
useEffect deps 변경 시 teardown 순서
React는 의존성 배열의 이전 값과 현재 값을 비교하고, 변경이 있으면 새 effect를 실행하기 전에 지난 cleanup을 먼저 호출합니다.
commit lifecycle
Object.is deps 비교, 이전 cleanup, 새 effect, unmount cleanup을
하나의 teardown 계약으로 봅니다.
stale response 차단
request
stale
이전 요청이 늦게 끝나면 새 화면 상태를 오래된 응답으로 덮을 수
있습니다.
abort
cleanup에서 AbortController를 호출하거나 최신 요청만 반영하도록
막습니다.
interval duplication 차단
timer
duplicate
이전 timeout이나 interval이 남으면 중복 실행과 불필요한 상태
변경이 생깁니다.
clear
cleanup에서 clearTimeout 또는 clearInterval로 이전 예약 작업을
취소합니다.