LifeCycle은 컴포넌트가 브라우저 상에 나타나고, 업데이트되고, 사라지게 되는 과정이다. 컴포넌트의 수명은 보통 페이지에서 렌더링되기 전인 준비 과정에서 시작하여 페이지에서 사라질때 끝이 난다.
생명주기 메서드는 클래스형 컴포넌트에서만 사용할 수 있는데, 함수형 컴포넌트에서는 useEffect가 비슷한 개념이다. 물론 작동방식은 다르고, 기능이 100% 대치하지는 않는다.
마운트될 때 발생하는 생명주기들이다.
컴포넌트가 화면에서 사라지는걸 의미한다.
useEffect(() => {
console.log('컴포넌트가 화면에 나타남');
return () => {
console.log('컴포넌트가 화면에서 사라짐');
};
}, [deps]);
useEffect
를 사용 할 때에는 첫번째 파라미터에 함수, 두번째 파라미터에 의존값이 들어있는 배열(deps)을 넣는다. deps 배열이 비워져 있다면 컴포넌트는 처음 나타날때만 등록한 함수가 호출된다.
특정 props
가 바뀌면 업데이트가 진행된다. deps
배열을 통해 호출 조건을 설정할 수 있다.
useEffect
에서는 함수를 반환할 수 있는데 이를 cleanup
함수라 부른다. cleanup
함수는 useEffect
에 대한 뒷정리를 해준다.
벨로퍼트와 함께하는 모던 리액트 - 25.LifeCycle Method
Kyun2da.dev - 리액트 라이프사이클의 이해