본문 바로가기
FrontEnd/React

[ React ] useEffect (feat. 무한 렌더링)

by ウリ김영은 2024. 12. 5.
useEffect는 꽤 다루기 까다롭습니다. 용도 자체가 부수작용을 일으키는 동작을 하여 예상 못한 부분에서 엉뚱한 동작을 일으키기도 하는데, 콜백 함수가 실행되는 건 의존하는 다른 대상의 상태를 따르기 때문이죠. 그래서 리액트로 개발하다보면 심심치 않게 무한 리렌더링 상황에 부딪히곤 합니다.

useEffect 동작 순서

  1. 컴포넌트 렌더링
  2. 화면에 반영 ( Paint )
  3. useEffect 함수 실행
  4. (리렌더링 시) 이전 부수작용 클린업
  5. 새로운 부수작용 실행

useEffect가 주로 사용되는 상황

  • 네트워크로 데이터 가져오기 (fetching)
  • DOM 조작
  • 구독과 해제
  • 타이머 관리

 

useEffect 사용 코드 예시

https://codepen.io/www-r/pen/ByBjoeK

 

2024-12-05

컴포넌트가 렌더링된 후 5초 동안 이메일 주소를 입력하지 않으면 입력란으로 초점을 옮기는 기능 구현...

codepen.io

 


참조

뉴스레터 푸딩캠프 ➡️ 뉴스레터 푸딩캠프 구독하기

'FrontEnd > React' 카테고리의 다른 글

[ React ] useState vs useReducer  (0) 2024.01.15
[ React ] useReducer  (0) 2024.01.15
[ React ] useContext  (0) 2024.01.15
[ React ] useRef  (0) 2024.01.14
[ React ] imageURL 을 File instance 로 만들기  (0) 2023.10.26