보통 개발자들은 이벤트 이름을 보면 어느 시점에 이벤트가 실행되는지 명확하게 알 수 있다. 예를 들어 componentDidUpdate()는 컴포넌트가 갱신된 후에 실행된다. 다른 경우에는 미묘한 차이가 있다. 표 5-1은 위에서 아래로 라이프사이클 이벤트의 실행 순서와 속성 또는 상태의 변경에 영향을 받는 경우를 보여준다(컴포넌트 속성 갱신과 컴포넌트 상태 갱신 열에서 확인할 수 있다).
▼ 표 5-1 라이프사이클 이벤트와 속성 및 상태의 관계
마운팅 |
컴포넌트 속성 갱신 |
컴포넌트 상태 갱신 |
forceUpdate()를 이용한 갱신 |
언마운팅 |
constructor() |
|
|
|
|
componentWillMount() |
|
|
|
|
|
componentWillReceiveProps() |
|
|
|
|
shouldComponentUpdate() |
shouldComponentUpdate() |
|
|
componentWillUpdate() |
componentWillUpdate() |
componentWillUpdate() |
|
|
render() |
render() |
render() |
render() |
|
|
componentDidUpdate() |
componentDidUpdate() |
componentDidUpdate() |
|
componentDidUpdate() |
|
|
|
|
|
|
|
|
componentDidMount() |