HOOK?
관련 된 내용을 찾다 보니, hook의 개념이 도입 되기 전까지 함수형 컴포넌트는 stateless 컴포넌트 라고도 불렀다고 한다.(공부할게 늘었다)
Hook에는 규칙이 있다?
Hook은 남용하면 안된다
그럼 대체 Hook 왜 쓰는거지?
대부분의 코드들이 규칙을 갖고 갖고 있다지만 이는 '언어'라는 의사 전달성에 따른 문법적 규칙일 뿐, 사용적인 제약은 크게 받지 않는 것으로 알고 있다.
[간장/의/심부름/을/엄마/도/한뒤 에] 라는 문장을 보면 조사와 명사가 마음대로 꼬여 의미 자체가 해석 되지 않는데, 이런 경우 단어의 나열이 될 뿐 언어로서의 기능이 사라지는 것과 같다.
그렇다면, 사용에 제한을 줄 수 있는 규칙도 있는데다 메모리 리소스 까지 사용하는 Hook을 왜 사용하는 걸까.
글의 초입에 언급한 것과 같이 내가 리액트를 공부하기 이전에는 class형 컴포넌트를 사용했었고, 이는 뒤이어 등장한 함수형 컴포넌트로 대체 되어 가면서 state의 유무로 함수형과 클래스형을 나누어 혼용했다고 한다.
확실히 이런 혼용 방식은 불필요한 work resource를 만들어냈을 것이라고 생각되는데, 이에 대한 보완책 역할을 하며 리액트라는 라이브러리를 사용하는 개발자들의 편의성 확보 측면에서의 이점을 확보할 수 있었으리라고 생각 된다.