useEffect를 "렌더 후에 실행되는 훅" 정도로 아는지, 의존성 변화·cleanup·StrictMode 이중 실행까지 묶어 _안전한 사용 패턴_을 말하는 사람인지를 가른다.
useEffect는 commit 이후, _브라우저 페인트 다음_에 비동기로 실행되는 부수 효과 훅이다. 의존성 배열이 바뀌면 다음 effect 실행 _전_에 이전 cleanup이 먼저 호출되고, 언마운트 시에도 cleanup이 실행된다. 의존성 배열을 생략하면 매 렌더마다 실행되고, 빈 배열이면 마운트/언마운트 주기에 맞춰 한 번씩 동작한다. 단 개발 모드 StrictMode에서는 검증을 위해 effect가 _두 번 실행_될 수 있으므로 네트워크 호출/구독 코드는 _idempotent_하게 작성해야 안전하다.
cleanup으로 구독 누수를 잡아본 경험이 있다면 effect 수명주기 이야기를 그대로 답변 후크로 쓸 수 있다
StrictMode 이중 실행을 idempotent fetch/AbortController로 처리한 경험이 있다면 "검증 도구로 활용"한 사례로 이어진다
의존성 배열에 객체를 useMemo로 안정화해 무한 루프를 끊은 적이 있다면 의존성 모델 이해를 보여줄 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.