리액트/컴포넌트의라이프사이클

ch01.라이프사이클 메서드의 이해

webmaster 2021. 11. 11. 11:43
728x90
  • 총 9종류의 라이프사이클 메서드가 존재한다.
  • Will 접두사 붙은 메서드 = 어떤 작업을 작동하기 전에 실행되는 메서드
  • Did 접두사 붙은 메서드 = 어떤 작업을 작동한 후에 실행하는 메서드
  • 총 3가지 마운트 -> 업데이트 -> 언마운트 흐름이 존재
    • 마운트 : DOM이 생성되고 웹 브라우져상에 나타나는 것
      • 호출되는 메서드 종류
      • constructor = 클래스 생성자 메서드
      • getDerivedStateFromProps = props에 있는 값을 State에 넣을 때 사용하는 메서드
      • render = 우리가 준비한 UI를 렌더링 하는 메서드
      • componentDidMount = 컴포넌트가 웹브라우저상에 나타난 후 호출하는 메서드
    • 업데이트 : props가 바뀌거나, state가 바뀌거나,  부모 컴포넌트가 리 렌더링 되거나, this.forceUpdate로 강제로 렌더링을 트리거할 때 호출이 된다.
      • 호출되는 메서드 종류
      • getDerivedStateFromProps = 마운트 과정에도 호출되는 메서드로 업데이트가 시작되기 전에도 호출
      • shouldComponentUpdate = 컴포넌트가 리렌더링을 할지 말지를 결정하는 메서드
        • true 반환 시 라이프 사이클 메서드를 계속 실행하고, false 반환 시 작업이 중지된다
        • 특정 함수에서 this.forceUpdate() 함수를 호출한다면 이과정을 생략하고 render함수를 실행한다.
      • render = 컴포넌트를 리렌더링 한다.
      • getSnapshotBeforeUpdate = 컴포넌트 변화를 DOM에 반영하기 바로 직전에 호출하는 메서드
      • componentDidUpdate = 컴포넌트의 업데이트 작업이 끝난 후 호출하는 메서드
    • 언마운트 = 컴포넌트를 DOM에서 제거하는 것
      • 호출되는 메서드 종류
      • componentWillUnMount = 컴포넌트가 웹 브라우져상에서 사라지기 전에 호출하는 메서드
728x90