화면 반영 뒤 effect
컴포넌트가 DOM에 반영된 뒤 타이머·구독 같은 외부 작업을 시작한다.
토글과 상태 변경을 관찰하면 effect는 ‘렌더마다 실행되는 코드’가 아니라 외부 자원의 시작과 종료를 맞추는 계약임이 보인다.
컴포넌트가 DOM에 반영된 뒤 타이머·구독 같은 외부 작업을 시작한다.
의존성 값이 달라진 렌더가 반영되면 effect를 새 조건으로 갱신해야 한다.
이전 cleanup을 실행한 다음 새 effect를 실행해 구독이나 타이머가 겹치지 않게 한다.
컴포넌트가 사라질 때 마지막 연결을 해제하며 새 effect는 더 실행하지 않는다.
핵심콘솔 확인: 시작 로그와 정리 로그를 한 쌍으로 두면 누수와 중복 실행을 쉽게 찾을 수 있다. effect가 자원을 만들었다면 cleanup은 같은 자원을 정확히 해제해야 한다.