리액트 생명주기(LifeCycle)는 컴포넌트의 생성부터 대체, 업데이트, 해제 과정을 설명한 것입니다. 이를 이해하면 컴포넌트의 동작 방식을 더 잘 이해하고, 효율적인 코드를 작성할 수 있게 됩니다. 리액트의 생명주기는 크게 3가지 단계로 나눌 수 있습니다.
마운트(Mounting): 컴포넌트가 DOM에 추가되는 단계
constructor: 컴포넌트의 생성자 메서드로, 컴포넌트의 초기화 작업을 수행
static getDerivedStateFromProps: props로 받은 값을 state에 동기화하는 작업을 처리
render: 컴포넌트를 렌더링합니다.
componentDidMount: 컴포넌트가 마운트된 후에 호출되는 메서드로, 비동기 데이터 요청이나 이벤트 리스너 등록 등의 작업을 수행
업데이트(Updating): props나 state의 변경으로 인해 컴포넌트가 리렌더링 되는 단계
static getDerivedStateFromProps: props로 받은 값을 state에 동기화하는 작업을 처리
shouldComponentUpdate: 컴포넌트를 업데이트할지 결정하는 메서드로, 성능 최적화를 위해 사용
render: 컴포넌트를 렌더링
getSnapshotBeforeUpdate: 컴포넌트 업데이트 직전의 DOM 상태를 스냅샷으로 저장하는 메서드
componentDidUpdate: 컴포넌트가 업데이트된 후 호출되는 메서드로, 업데이트 작업 후 추가 동작을 수행할 때 사용
언마운트(Unmounting): 컴포넌트가 DOM에서 제거되는 단계
componentWillUnmount: 컴포넌트가 언마운트되기 전에 호출되는 메서드로, 이벤트 리스너 해제 등의 정리 작업을 수행