리액트 up 6. useEffect 구조와 원리

Posted by : on

Category : react-up


컴포넌트도 생명주기가 있다.

컴포넌트는 마운트(생성), 리렌더링(업데이트), 언마운트 생명주기를 거치며, 이 과정에서 특정 작업을 수행할 수 있다.

useEffect 구조와 원리

useEffect는 컴포넌트의 생명주기 동안 특정 작업을 수행하기 위해 사용하는 훅이다. 이 훅은 컴포넌트가 마운트되거나 업데이트될 때 실행되는 함수를 정의할 수 있다.

useEffect(() => {
  // 컴포넌트가 마운트되거나 업데이트될 때 실행되는 코드
  return () => {
    // 컴포넌트가 언마운트될 때 실행되는 코드
  };
}, [dependencies]);

📌 인자 목록

인자 설명
effect 컴포넌트가 마운트되거나 업데이트될 때 실행되는 함수.
cleanup effect에서 반환하는 함수로, 컴포넌트가 언마운트될 때 실행됨.
dependencies 배열 형태로, 이 배열에 포함된 값이 변경될 때만 effect가 실행됨. 빈 배열([])이면 최초 마운트 시만 실행.

useEffect는 컴포넌트가 마운트될 때와 업데이트될 때 실행되는 함수를 정의할 수 있다. 이 함수는 컴포넌트가 언마운트될 때 실행되는 cleanup 함수를 반환할 수 있다.

** 참고 **

컴포넌트 언마운트 시점 언마운트(unmount)는 컴포넌트가 DOM에서 제거되는 시점을 말합니다. 다음과 같은 상황에서 컴포넌트가 언마운트된다

  1. 조건부 렌더링에서 제거될 때
{
  isVisible && <MyComponent />;
} // isVisible이 false가 되면 언마운트
  1. 부모 컴포넌트에서 더 이상 렌더링하지 않을 때
  • 부모 컴포넌트의 상태 변경으로 자식 컴포넌트가 제거될 때
  • 부모 컴포넌트 자체가 언마운트될 때
  1. 라우팅 변경으로 다른 페이지로 이동할 때
  • 현재 페이지 컴포넌트가 다른 페이지로 대체되면 언마운트됨
  1. 동적 리스트에서 항목이 제거될 때
  • 배열에서 항목을 제거하면 해당 컴포넌트도 언마운트됨

useEffect의 클린업 함수는 이러한 언마운트 시점에 실행되어 이벤트 리스너 제거, 타이머 클리어, 구독 취소 등의 정리 작업을 수행.


About 유재석
유재석

개발자 유재석 입니다. Web Developer.

Email : jaeseok9405@gmail.com

Website : https://github.com/yoo94