Controlled Counter - React Coding Interview Question
- React 카운터 컴포넌트 구현 목표: 내부
count 상태를 0부터 관리하고, 현재 값을 화면에 표시하며, + 및 - 버튼으로 값을 증감시키는 React 카운터 컴포넌트 개발이 핵심 과제입니다. 🎯
useState 훅을 이용한 상태 관리: count 상태를 추적하기 위해 useState(0)을 사용하여 초기값을 0으로 설정하고, 상태 변화 시 컴포넌트가 리렌더링되도록 합니다. 🔄
- 동적인 카운트 값 표시: 하드코딩된 '0' 대신
<h1>{count}</h1>와 같이 JSX 내에서 count 변수를 사용하여 현재 상태 값을 동적으로 화면에 렌더링합니다. 🖥️
- 증가 버튼 이벤트 핸들러:
+ 버튼의 onClick 이벤트에 setCount(prevCount => prevCount + 1) 콜백 함수를 연결하여 이전 상태를 기반으로 안전하게 count 값을 1 증가시킵니다. ➕
- 감소 버튼 이벤트 핸들러:
- 버튼의 onClick 이벤트에 setCount(prevCount => prevCount - 1) 콜백 함수를 연결하여 이전 상태를 기반으로 안전하게 count 값을 1 감소시킵니다. ➖
- 테스트 ID 유지의 중요성: 테스트 자동화를 위해
data-test-id 속성은 변경하지 않고 유지해야 한다는 요구사항이 강조됩니다. 🧪
- 면접 질문으로서의 의의: 이 문제는 React의
useState를 통한 상태 관리와 이벤트 핸들링이라는 핵심적인 기본기를 평가하는 고전적인 기술 면접 질문입니다. 💡