라이프사이클에 따라서 함수를 만들어두면 리액트가 원하는 상황에 호출되게끔 구현할 수 있다.
componentDidMount
componentWillUnmount
가 주로 많이 쓰인다.
로딩 spinner를 보여준다던지 할 때, 적절하게 넣어 구현할 수도 있다.
timer 구현이나 socket을 이용하여 채팅 등을 구현할 때,
다 지우고 리소스를 지우고 할 때도 사용한다.
리액트의 setState는 비동기적으로 동작한다. : 직접적으로 수정하게 될 경우, 상태를 여러번 업데이트 하게 될 때, 이전 업데이트 내용이 다음 업ㄷ이트 내용으로 덮어쓰일 수 있다. 그래서 버그가 발생할 수 있다.
PureComponent 정상적으로 동작하지 않는다. : PureComponent는 현재 컴포넌트가 가지고 있는 상태와 업데이트 하는 새로운 상태의 레퍼런스를 비교해서 업데이트가 필요한 경ㅇ 호출하게 되는데,
지금의 경우에는 레퍼런스가 동일하다고 생각되어 변경되지 않는 것이다.
아무튼 예상치 못한 문제가 또 발생할 수 있으니 하지 않는 것이 좋다.