← 질문 목록
#48깊이 0

useEffect 의존성 배열을 비워두면 언제 실행되는가?

프론트엔드기초

의존성 배열이 비면 마운트마다 한 번 실행된다. 개발 모드의 Strict Mode에서는 정리가 제대로 되는지 보려고 일부러 두 번 실행한다. 배열에 넣은 값이 변하지 않으면 리액트가 이펙트 함수를 다시 호출하지 않기 때문이다.

의존성 배열실행 시점
빈 배열마운트 시 1회 실행
값 포함마운트 후 1회 + 해당 값이 변경될 때
배열 생략매 렌더링마다 실행

의존성 배열에 따라 실행 시점이 달라진다. 배열을 비워두면 렌더링과 상관없이 생명주기상 마운트 시점에만 작동한다.

함수나 객체를 의존성 배열에 넣을 때는 주의해야 한다. 렌더링 시마다 주소값이 바뀌면 의존성 배열이 비어있지 않음에도 무한 루프에 빠질 수 있다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

useEffect 의존성 배열을 비워두면 언제 실행되는가?