1. state에 변경이 있을 때
2. 새로운 props가 들어올 때
전달 받은 props 값이 업데이트 되었다면 리렌더링 된다.
3. 부모 컴포넌트가 렌더링 될 때
부모 컴포넌트가 리렌더링 되면 자식 컴포넌트도 리렌더링 된다.
(새로운 props가 들어오지 않더라도)
4. shouldComponentUpdate에서 true가 반환될 때
각 컴포넌트는 shouldComponentUpdate라는 메소드를 가지고 있으며,
이는 state가 변경되거나 새로운 props를 전달 받는 경우 실행된다.
기본 반환 값은 true이지만 false를 지정해 리렌더링을 막을 수 있다.
5. forceUpdate가 실행될 때
props나 state가 아닌 다른 값이 변경되었을 때 리렌더링을 하고 싶은 경우 사용한다.