**Initializing**

setup props and state
**Mounting

componentWillMount** : render 가 되기 직전

->

**render** : 최초로 브라우저에 그려진다.

->

**componentDidMount** : render 된 직후
**Updation**

props 가 update 되거나 state 가 update 된다. update 되면 ReRender 한다.

===================================================================================

**Props

componentWillReceiveProps** : props와 states 의 차이점. props를 새로 지정했을 때 바로 호출!
state 의 변경에는 반응하지 않는다. 다만 props의 값에 따라 state를 변경해야 한다면??
setState를 이용해 state 를 변경한다. props의 변경과, state의 변경을 한번에 처리해서
shouldComponentUpdate 로 보낸다.

->

**shouldComponentUpdate** : true or false 를 return 한다. 그려낼지 말지 결정한다.
불필요하게 rendering 되는 것을 방지한다. React Component 의 성능최적화에 중요한 역할을 한다.
props, state, 혹은 둘 다 변경되도 호출된다. newProps와 newState 를 인자로 가진다.
return type 이 boolean 으로써 true면 render, false 면 render하지 않는다. default 는 true.

->

**componentWillUpdate** : 컴포넌트가 reRender 되기 직전에 불린다. setState 쓰면 안됨.

->

**render**

->

**componentDidUpdate** : 컴포넌트가 reRender 를 마치면 불린다.

===================================================================================

**States

shouldComponentUpdate** : true or false 를 return 한다. 그려낼지 말지 결정한다.
불필요하게 rendering 되는 것을 방지한다. React Component 의 성능최적화에 중요한 역할을 한다.

->

**componentWillUpdate**

->

**render**

->

**componentDidUpdate**
**Unmounting

componentWillUnmount** : 사라지기 직전. 메모리 중에 정리할것을 정리.
컴포넌트에서 API 요청을 했지만 아직 받지 못했다면, 그 요청을 취소한다.

componentWillMount , render, componentDidMount

componentWillReceiveProps, shouldComponentUpdate, componentWillUpdate, render, componentDidUpdate

componentWillUnmount