useReducer 상태 전이 계약
이벤트 핸들러는 무엇이 일어났는지를 dispatch하고, reducer는 현재 상태와 최소 action 정보만으로 다음 상태를 계산합니다.
사용자 상호작용
클릭 · 입력 · 응답 도착
action 전달
type + 필요한 최소 payload
순수 계산
reducer(prev, action)
새 상태 반환
읽기 전용 state를 직접 변형하지 않음
UI 갱신
현재 핸들러의 state는 여전히 이전 snapshot
핵심action은 사건을 표현하고 reducer는 같은 입력에 같은 다음 상태를 돌려주는 계약을 지킨다.