[javascript] 리액트 프레임워크에서 컴포넌트의 라이프사이클은 어떻게 되나요?

리액트는 컴포넌트의 라이프사이클을 제공하여 개발자가 컴포넌트의 동작에 따라 원하는 작업을 수행할 수 있게 합니다. 컴포넌트의 라이프사이클은 다음과 같이 나눌 수 있습니다.

  1. 마운팅(Mounting): 컴포넌트가 DOM에 삽입될 때의 단계입니다.
    • constructor: 컴포넌트가 생성될 때 호출되는 메서드입니다. 초기 상태를 설정하거나 이벤트 핸들러를 바인딩하는 등의 작업을 수행합니다.
    • getDerivedStateFromProps: 컴포넌트가 처음으로 렌더링되기 전에 호출되는 메서드입니다. props로부터 도출된 상태를 설정합니다.
    • render: 컴포넌트의 UI를 렌더링하는 메서드입니다.
    • componentDidMount: 컴포넌트가 DOM에 삽입된 직후에 호출되는 메서드입니다. 외부 데이터 로딩이나 DOM 조작과 같은 비동기 작업을 수행합니다.
  2. 업데이팅(Updating): 컴포넌트가 업데이트될 때의 단계입니다. 업데이트는 props나 state의 변경에 의해 발생합니다.
    • getDerivedStateFromProps: 컴포넌트가 다시 렌더링되기 전에 호출되는 메서드입니다. props로부터 도출된 상태를 업데이트합니다.
    • shouldComponentUpdate: 컴포넌트가 다시 렌더링될지 결정하는 메서드입니다. 성능 최적화를 위해 사용됩니다.
    • render: 컴포넌트의 UI를 다시 렌더링합니다.
    • componentDidUpdate: 컴포넌트가 업데이트된 직후에 호출되는 메서드입니다. 이전 props나 state와의 비교를 통해 이전 상태에 대한 작업을 수행합니다.
  3. 언마운팅(Unmounting): 컴포넌트가 DOM에서 제거될 때의 단계입니다.
    • componentWillUnmount: 컴포넌트가 DOM에서 제거되기 직전에 호출되는 메서드입니다. 이벤트 핸들러를 해제하거나 비동기 작업을 정리하는 등의 작업을 수행합니다.

이외에도 에러 처리를 위한 componentDidCatch 메서드가 있습니다. 이를 사용하여 컴포넌트에서 발생하는 에러를 처리할 수 있습니다.

라이프사이클 메서드를 활용하여 컴포넌트의 상태 변화에 따른 작업을 수행할 수 있습니다. 자세한 내용은 React 공식 문서를 참고하시기 바랍니다.

참고: React 공식 문서