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) 동작을 구현할 수 있습니다.