[typescript] JSX에서 컴포넌트의 state 감지 방법
JSX에서 컴포넌트의 state를 감지하고 상황에 맞게 렌더링을 할 수 있는 방법에 대해 알아봅시다.
1. 컴포넌트 상태(state)란?
컴포넌트의 상태는 해당 컴포넌트가 가지고 있는 데이터를 나타냅니다. 이 데이터는 사용자 상호 작용에 의해 변경될 수 있습니다. 예를 들어, 입력 양식의 값을 저장하거나 사용자가 선택한 옵션을 추적하는 등의 상태를 저장할 수 있습니다.
2. state 감지와 렌더링
JSX에서 컴포넌트의 state가 변경될 때마다 새로운 상태에 따라 화면을 업데이트해야 할 수 있습니다. 이를 위해 React 내장 훅인 useState
를 사용하여 상태를 선언하고, useEffect
를 사용하여 상태의 변화를 감지하여 렌더링을 처리할 수 있습니다.
예를 들어, 다음은 useState
와 useEffect
를 사용하여 컴포넌트의 state를 감지하고 렌더링하는 예시입니다.
import React, { useState, useEffect } from 'react';
function MyComponent() {
const [count, setCount] = useState(0);
useEffect(() => {
// state가 변경될 때마다 실행될 로직
console.log('State가 변경되었습니다.');
}, [count]);
return (
<div>
<p>{count}</p>
<button onClick={() => setCount(count + 1)}>증가</button>
</div>
);
}
export default MyComponent;
위의 예시에서 useState
를 사용하여 count
상태를 선언하고, useEffect
를 사용하여 count
상태가 변경될 때마다 특정 로직을 실행하도록 합니다.
3. 결론
JSX에서 컴포넌트의 state를 감지하고 적절한 렌더링을 처리하는 방법은 useState
와 useEffect
훅을 사용하는 것입니다. 이를 통해 상태의 변화를 감지하고, 그에 따른 UI 업데이트를 쉽게 처리할 수 있습니다.
더 많은 정보는 React 공식 문서를 참고하시기 바랍니다.