logo

[RN] useFocusEffect의 행동양식

language-logoReactJS

• React native 앱에서 useFocusEffect 훅은 스크린이 포커스 될 때마다 호출되는 함수를 설정하는데 사용된다. 이는 특정 함수를 재평가하지 않고 React 앱의 전역 환경에 고정시키는데 유용하다.
• useFocusEffect는 스크린이 포커스 될 때마다 호출되지만, useCallback의 디펜던시가 감지하는 내용의 변동으로 인해 내부 지역 상태가 바뀔 경우에도 호출된다. 이 점은 주의해야 한다.
• useFocusEffect는 스크린이 "focus"가 되었던 순간에 호출이 된다는 점이지, "리랜더링이 되는 순간" 호출이 되는 것은 아니다. 이는 리랜더링과 상관 없이 해당 스크린이 포커스되는 그 한 순간에만 작동한다는 것을 의미한다.
• 스크린이 포커스 되는 순간 모든 변경점이 반영 된 특정한 결과를 랜더링을 진행하고 싶다면 "useEffect"를 사용해야 하고, 스크린이 포커싱이 되는 그 순한 단 한번을 주목하여 필요한 로직을 한번만 하도록 하고 리 랜더링 마다 실행하고 싶지 않다면 useFocusEffect를 사용하는 편이 좋다.

thumbnail
북마크
공유하기
신고하기
6분 분량
조회수 217
profile-imagedevAnderson
2년 전
Copyright © 2025. Codenary All Rights Reserved.