React에서 컴포넌트는 여러 종류의 생명주기 메서드를 가지며 이 메서드를
오버라이딩(상속하여 재정의) 하여 특정 시점에 코드가 실행 되도록 설정한다.
리액트 라이플 사이클은 크게 Mount, Update, Unmount 3가지로 나뉜다.
클래스 컴포넌트에만 해당되는 내용이며,
함수형 컴포넌트는 Hook을 사용해 생명주기에 원하는 동작을 한다.
DOM이 생성되고 웹 브라우저상에 나타나는 것을 마운트라고 한다.
이때 호출하는 라이플 사이클 메서드는 다음과 같다.
컴포넌트는 총 네 가지 경우에 업데이트 된다.
컴포넌트를 업데이트 할 때 다음 메서드를 호출한다.
마운트의 반대 과정으로 컴포넌트를 DOM에서 제거하는 것을 의미한다.
더는 컴포넌트를 사용하지 않을 때 발생하는 이벤트가 있다.
Hook은 함수 컴포넌트에서 React State와 생명주기 기능(Lifecycle Features)을
'연동(Hook Into)'할 수 있게 해주는 함수다. 클래스에서는 동작하지 않고
함수형 컴포넌트 내부에서 클래스없이 React를 사용할 수 있게 해준다.
과거에 컴포넌트 상태 관리 및 라이플 사이클 제어를 위해 클래스형 컴포넌트를 주로 사용했지만,
2019년 v16.8 부터 리액트 훅(Hook)이란 기능이 도입되면서 리액트 공식 문서에서는
함수형 컴포넌트와 훅을 함께 사용할 것을 권장하고 있다.
대표적으로 상태 관리를 할 수 있는 useState(),
렌더링 직후 작업을 설정하는 useEffect() 등의 기능을 제공한다.
Hook은 그냥 JavaScript 함수이지만, 두 가지 규칙을 준수해야 한다.
공식문서 : Hook의 개요
리액트 라이프사이클의 이해
React Lifecycle 과 useEffect()