state
와 life cycle
을 함수형 컴포넌트에서도 사용 가능함수형 컴포넌트들은 기본적으로 리렌더링이 될 때, 함수 안에 작성된 모든 코드가 다시 실행된다.
render()
를 제외한 나머지 method 및 state 는 그대로 보존이 되어 있습니다.Stateless Component
라고 했던 것.*Hook
의 등장으로, 브라우저에 메모리를 할당 함으로써, 함수형 컴포넌트가 상태(state)를 가질 수 있게 되었다. 즉, Hook을 통해 함수 내에 써져 있는 코드 및 변수를 기억할 수 있게 됨*
(정확하게는 Closure
을 이용하여 함수형 컴포넌트 바깥에 state를 저장한다.)
위에서 설명하였듯이, Hook은 브라우저의 메모리 자원을 사용한다. 따라서 함부로 남용하였다가는 오히려 전체적인 성능 저하를 불러올 수 있다.
함수형, 클래스형으로 분리해서 개발하던걸 함수형으로 통합 개발이 가능하다.
hook이 등장하기 이전에는 state가 있으면 class, 오직 뷰만 그린다면 function 이었다.