import React, { useState, useEffect } from 'react';
function StatusComponent() {
const [status, setStatus] = useState('inactive');
useEffect(() => {
console.log(`Status changed to: ${status}`);
}, [status]);
return (
<div>
<p>Current status: {status}</p>
<button onClick={() => setStatus('active')}>Activate</button>
<button onClick={() => setStatus('inactive')}>Deactivate</button>
</div>
);
}
export default StatusComponent;
위 코드를 예로 설명 하면
1. useState 훅을 사용하여 status라는 상태 변수를 선언
2. 초기값은'inactive'
3. useEffect 훅을 사용하여 status가 변경될 때마다 특정 작업을 수행
4. 의존성 배열은 status를 주어 변경될 때마다 useEffect 내부의 콜백 함수가 실행
5. console.log로 상태 변화 메세지를 출력
6. return 부분에서 렌더링을 진행
6-1 status 상태 값을 표출
6-2 버튼을 이용하여 지정한 setStatus 값이 호출되어 status 상태가 변경
의 순서대로 코드가 실행된다.
코드 상황에 맞게 적절히 사용해주면 굉장히 유용해 보인다.