useEffect 메소드로 componentWillUnmount를 구현하는 방법은 무엇인가요?

0

기술면접 - React

목록 보기
22/36

useEffect 메소드로 componentWillUnmount를 구현하는 방법은 무엇인가요?

React 함수형 컴포넌트에서 componentWillUnmount와 같은 정리(clean-up) 동작을 구현하려면 useEffect 훅의 반환 함수를 활용할 수 있습니다. useEffect 훅은 컴포넌트의 라이프사이클 개념 중 componentDidMount, componentDidUpdate, componentWillUnmount와 유사한 동작을 제공합니다.

구현 방법

useEffect 훅을 사용하여 componentWillUnmount와 동일한 동작을 구현하는 방법은 다음과 같습니다:

import React, { useEffect } from 'react';

function MyComponent() {
  useEffect(() => {
    // componentDidMount와 동일한 동작

    // 이펙트 함수 내에서 수행할 작업을 정의합니다.

    // componentWillUnmount와 동일한 정리(clean-up) 작업을 반환하는 함수를 정의합니다.
    return () => {
      // 정리 작업을 수행합니다.
    };
  }, []); // 빈 배열을 의존성(dependency)으로 전달하여 컴포넌트가 마운트될 때만 실행되도록 설정합니다.

  // 컴포넌트의 나머지 부분
}

위의 코드에서 useEffect 훅은 첫 번째 인자로 콜백 함수를 받습니다. 이 콜백 함수는 컴포넌트가 마운트될 때(처음 렌더링될 때) 실행됩니다.

두 번째 인자로 빈 배열([])을 전달하여 의존성(dependency)을 설정합니다. 이를 통해 useEffect 훅은 컴포넌트가 마운트될 때만 한 번 실행되고, 컴포넌트가 언마운트될 때 정리(clean-up) 작업을 수행할 수 있습니다.

return 문에서 정의된 함수는 컴포넌트가 언마운트될 때 실행되는 정리 함수입니다. 이 함수 내에서는 언마운트 시에 수행해야 하는 정리 작업을 수행하면 됩니다.

이 방법을 사용하면 함수형 컴포넌트에서 componentWillUnmount와 동일한 정리(clean-up) 동작을 구현할 수 있습니다.

profile
지치지 않는 백엔드 개발자 김성주입니다 :)

0개의 댓글