본문 바로가기
WebDev/항해99

useEffect는?

by S.AHA_dev 2023. 8. 2.
728x90
반응형

useEffect는 리액트의 훅 중 하나

클래스 컴포넌트의 라이프사이클 메서드를 함수 컴포넌트에서 사용할 수 있음.

useEffect는 주로 사이드이펙트를 처리하기 위해 사용,

데이터 패칭, 상태 변경, 돔 업데이트 등의 작업을 수행할 수 있습니다. 

 

useEffect의 실행 순서

Component Mounting (컴포넌트 마운트)

useEffect는 컴포넌트가 처음 마운트될 때 실행

컴포넌트가 처음 렌더링되고 나서 호출

클래스 컴포넌트의 componentDidMount와 유사한 역할

예를 들어, 데이터 패칭이 필요한 경우 이 시점에서 수행

 

Component Updating (컴포넌트 업데이트) 

useEffect는 컴포넌트의 상태 값이나 속성 값이 변경될 때마다 실행될 수 있음.

이때 의존성 배열에 어떤 값을 넣어주느냐에 따라 어떤 값이 변경될 때 실행될지를 조절가능.

만약 빈 배열 []을 전달한다면, useEffect가 마운트 될 때 한 번만 실행. 

그러나 의존성 배열이 지정되지 않은 경우,

컴포넌트가 렌더링 될 때마다 실행되며,

클래스 컴넌트의 componentDidUpdate와 유사한 역할을 함.

 

Component Unmounting (컴포넌트 언마운트)

useEffect 개념상 마지막에 반환된 함수 또는 클린업 함수를 포함할 수 있음.

이 함수는 컴포넌트가 언운트되거나, useEffect가 의존성 배열에 따라 재실행되기 전에 됨.

클래스 컴포넌트의 componentWillUnmount와 유사한 역할.

반응형

'WebDev > 항해99' 카테고리의 다른 글

Async/Await와 Promise의 차이점  (0) 2023.08.04
var, let, const의 차이점  (0) 2023.08.03
typescript 기본 문법  (0) 2023.08.01
버츄얼돔과 리얼돔의 차이  (0) 2023.08.01
상태관리의 필요성  (0) 2023.07.28