0331 TIL : useEffect의 의존성 배열

Clear·2023년 4월 1일
0

개발 노트

목록 보기
5/5

개요

리액트로 프로젝트를 하다보면 의존성 배열안에 어떤 값들을 추가하라는 문구를 심심찮게 볼 수 있다.

궁금점

그 가운데는 navigate, dispatch처럼 그 자체로는 변할 일이 없는 객체까지 넣으라고 하는는 점이 궁금했다. 왜일까?

이유

  • navigatedispatch 값은 가져온 라이브러리이므로 자체적으로 변경되지 않는다는 것이 맞습니다. 그러나 종속성 배열에 포함된 이유는 변경될 때마다 useEffect 후크가 실행되도록 하기 위함입니다.

  • 'navigate' 및 'dispatch' 값은 변경되지 않지만 함수 자체에 대한 참조는 변경될 수 있습니다. 이는 라이브러리의 새 버전이 로드되거나 개발 중에 라이브러리가 핫 리로드되는 경우와 같은 특정 상황에서 발생할 수 있습니다.

  • 종속성 배열에 navigatedispatch를 포함하여 참조가 변경될 때마다 효과를 다시 실행하도록 React에 지시합니다. 이렇게 하면 효과가 항상 이러한 함수에 대한 최신 참조를 가지며 올바르게 작동합니다.

0개의 댓글