모든 리액트 컴포넌트에 라이프사이클 컴포넌트의 수명은
페이지에 렌더링되기 전인 준비과정에서 시작하여 페이지에서 사라질 때 끝난다.
리액트 프로젝트를 진행하면, 컴포넌트를 처음으로 렌더링 할 때, 어떤 작업을 처리해야 하거나 컴포넌트를 업데이트하기 전 후로 어떤 작업을 처리해야 할 수도 있고, 또 불필요한 업데이트를 방지해야 할 수도 있다.
라이프사이클은 클래스형 컴포넌트에서만 사용이 가능하고, 함수형 컴포넌트에서는 사용이 불가능하다.
라이프사이클 메서드는 접두사에 따라 동작시점이 달라진다.
will
: 어떤 작업을 동작하기 전 실행
Did
: 어떤 작업을 동작한 후 실행
Mount
생성될때 : 페이지 컴포넌트가 나타남.
UpDate
업데이트 할 때 : 컴포넌트 정보가 업데이트 -> Rerendering이 진행
UnMount
제거 할 때 : 페이지 컴포넌트에서 사라짐.
DOM에서 생성되고 웹브라우저 상에 나타냄.
- 컴포넌트 생성
-> constructor
-> getDerivedStateFromProps
-> render
-> componentDidMount
업데이트를 발생시키는 요인들인
props 변경, state 변경, 부모컴포넌트 리렌더링 들에 따라 업데이트가 진행된다.
- getDerivedStateFromProps
- shouldComponentUpdate
-> true 반환시 호출
-> false는 여기서 작업 취소
- render
- getSnapshotBeforeUpdate
- componentDidUpdate