공식 문서를 읽고 정리한 내용 Hook을 사용하는 이유 컴포넌트 사이에서 상태 로직을 재사용하기 어렵다. Hook을 사용하면 컴포넌트로부터 상태 관련 로직을 추상화 할 수 있음. 즉 여러 컴포넌트들에서 반복되는 로직을 훅으로 만든 다음 import 해서 사용할 수 있고 이를 이용해서 독립적인 테스트와 재사용이 가능해진다. Hook은 계층의 변화 없이 상태 관련 로직을 재사용할 수 있도록 도와준다. 복잡한 컴포넌트들은 이해하기 어렵다. 생명주기 메서드를 기반으로 로직을 나눌 경우 서로 연관 없는 로직들이 포함되어 버그가 쉽게 발생하고 무결성을 헤친다. Hook을 통해 서로 비슷한 것을 하는 작은 함수의 묶음으로 컴포넌트를 나누는 방법을 사용할 수 있다. (데이터 불러오기, 구독 설정) 또 이러한 로직의 추적을 쉽게 할 수 있도록 reducer 를 활용해 컴포넌트의 지역 상태 값을 관리하도록 할 수 있음. Clas