본문 바로가기

React

[React] Life Cycle

리액트 컴포넌트는 [mount] -> [update] -> [unmount] 의 과정을 거친다.

 

1. Mount

컴포넌트가 생성될 때를 말하며, 다음과 같은 메서드가 있다.

  1. constructor
    1. 컴포넌트가 맨 처음 만들어 질 때 호출
    2. 생성자
  2. getDerivedStateFromProps
    1. 부모 컴포넌트로부터 props를 전달받을 때, state에 값을 일치시키는 역할을 하는 메서드
    2. 마운트 될 때, 업데이트(리렌더링) 될 때도 호출
  3. render
    1. 최초 mount가 준비완료 되면 호출되는, 즉 렌더링 하는 메서드
    2. 컴포넌트를 DOM에 마운트하기 위해 사용
  4. componentDidMount
    1. 컴포넌트가 브라우저에 표시가 된 후 호출되는 메서드

 

2. Update

컴포넌트가 갱신될 때를 말하며, 다음과 같은 메서드가 있다.

  1. getDerivedStateFromProps
    1. Mount 과정에서도 동일하게 호출되었던 메서드.
    2. 부모 컴포넌트로부터 props를 전달받을 때, state에 값을 일치시키는 역할을 하는 메서드
  2. shouldComponentUpdate
    1. 리렌더링 여부 판단(함수 호출 결과 : true / false)
      1. true인 경우 : 리렌더링 진행
      2. false인 경우 : 리렌더링 하지 않음
    2. 함수형 컴포넌트에서 memo, useMemo, useCallback이 역할을 대신한다.
  3. render
    1. 변경사항 반영이 다 되어 준비완료 되면 호출되는, 즉 렌더링 하는 메서드
    2. 컴포넌트를 DOM에 마운트하기 위해 사용
  4. getSnapshotBeforeUpdate
    1. 컴포넌트에 변화가 일어나기 직전 DOM의 상태를 저장
    2. componentDidUpdate 함수에서 사용하기 위한 스냅샷 형태의 데이터
  5. componentDidUpdate
    1. 컴포넌트 업데이트 작업 완료 후 호출

 

3. Unmount

컴포넌트가 DOM 에서 제거될 때를 말하며, 다음과 같은 메서드가 있다.

  1. componentWillUnmount
    1. 컴포넌트가 사라지기 전 호출되는 메서드
    2. useEffect의 return과 동일

'React' 카테고리의 다른 글

[React] Redux Toolkit  (0) 2023.07.04
[React] Redux  (0) 2023.06.20
[React] React Hooks 최적화 (React.memo, useCallback, useMemo)  (0) 2023.06.20
[React] React Hooks (useContext)  (0) 2023.06.20
[React] React Hooks (useRef)  (0) 2023.06.20