쓰레드가 없기 때문. 쓰레드가 있었다면 교착상태에 대한 컨트롤이 가능하므로 객체지향적으로 해도되지만 웹브라우저에 쓰레드는 없으니.. 리액트 컴포넌트는 쓰레드가 없어서 선점형 방식으로 개발할 경우 동시다발적 이벤트 및 화면 갱신 그리고 사이드 이펙에서 무결성을 보장하기 힘든 코드가 될 가능성이 높아진다. 클래스 컴포넌트에서 라이프 사이클 메소드에 관련 로직들이 한번에 들어가게 되는데 그렇게 되면 나중에 코드가 난잡해지고 충돌이 일어날 가능성이 높아진다. 함수형 컴포넌트와 훅의 경우 훅은 각각의 상태에 대한 변화 감지를 하고 또한 각 라이프 사이클 메소드라는 개념보다 useEffect 라는 이펙에 중점을 두기 때문에 각 상태와 이벤트들도 각각 독립적으로 컨트롤 할 수 있으며 컴포넌트의 라이프사이클도 이펙 훅..
React 의 훅 그리고 Context API 에 대한 추상적인 고찰. React 훅은 마치 javascript 의 클로저 처럼 함수가 하나의 실행 영역을 가지는 것과 유사하게 파라미터를 받을 수 있고(마치 리액트 컴포넌트의 속성과 같이) 내부에서 사용될 수 있는 변수들이 존재하며 상태(state)와 동작(method) 을 가지는 기능 단위이다. 보통 하나의 기능 단위는 상태와 동작으로 정의될 수 있다. 그리고 함수형 프로그래밍 방식에서 추구하는 확실한 기능 단위의 조합 방식에도 부합한다. 리액트는 UI 라이브러리이며 그 기본 단위인 컴포넌트는 생명주기, 렌더링 관련된 기능과 속성, 상태, 동작과 같은 것을 가진다. 훅이 나오기 전 클래스 형 컴포넌트를 주로 사용하던 시기에 단순한 독립적인 유틸리티 함수..