lifecycle

Class component lifecycle

리액트 컴포넌트는 정해진 생애주기가 존재한다. 이 생애주기별로 실행하도록 만들어진 함수가 존재하며, 이 함수를 사용하면 컴포넌트의 상황에 맞는 처리를 수행할 수 있다.

componentDidMount

최초의 render 직후 호출되는 함수이다. 공식 문서의 설명에는 컴포넌트가 마운트된 직후(트리에 삽입된 직후)에 호출된다고 작성되어 있다.

이 시점에서는 다음과 같은 작업을 수행하기 좋다.

  • state의 초기 상태 계산

  • ajax를 이용해 외부에서 화면 구성에 필요한 데이터를 요청

  • setInterval 함수 등 주기적으로 실행되어야 하는 작업에 대한 처리

componentDidUpdate

데이터 변화 등의 이유로 화면이 갱신된 직후에 호출되며, 최초의 렌더링 시에는 호출되지 않는다.

이 시점에서는 다음과 같은 작업을 수행하기 좋다.

  • state의 갱신

  • ajax를 이용해 외부에 갱신된 정보를 전송

componentWillUnmount

컴포넌트가 제거되기 직전에 호출되는 함수이다. 다음 작업을 수행하기 좋다.

  • 기존에설정해둔 setInterval 함수 등 주기적인 작업의 제거

deprecated lifecycle

componentWillMount, componentWillUpdate는 deprecated되어 더이상 사용하지 않는다.

  • componentWillMount - mount 이전 시점에 실행되는 함수

  • componentWillUpdate - update 이전 시점에 실행되는 함수

Last updated