쓰레드가 없기 때문. 쓰레드가 있었다면 교착상태에 대한 컨트롤이 가능하므로 객체지향적으로 해도되지만 웹브라우저에 쓰레드는 없으니.. 리액트 컴포넌트는 쓰레드가 없어서 선점형 방식으로 개발할 경우 동시다발적 이벤트 및 화면 갱신 그리고 사이드 이펙에서 무결성을 보장하기 힘든 코드가 될 가능성이 높아진다. 클래스 컴포넌트에서 라이프 사이클 메소드에 관련 로직들이 한번에 들어가게 되는데 그렇게 되면 나중에 코드가 난잡해지고 충돌이 일어날 가능성이 높아진다. 함수형 컴포넌트와 훅의 경우 훅은 각각의 상태에 대한 변화 감지를 하고 또한 각 라이프 사이클 메소드라는 개념보다 useEffect 라는 이펙에 중점을 두기 때문에 각 상태와 이벤트들도 각각 독립적으로 컨트롤 할 수 있으며 컴포넌트의 라이프사이클도 이펙 훅..