count, text, items처럼 서로 영향을 주는 값을 하나의 상태 객체로 관리합니다.
리듀서 판단 기준
useReducer action 상태 전이
상태 필드가 서로 연결되고 업데이트 규칙이 많아지면 setState 여러 개보다 reducer와 dispatch가 흐름을 읽기 쉽습니다.
사용자 의도를 ADD, REMOVE, RESET 같은 action으로 표현합니다.
reducer는 같은 state와 action에 대해 같은 다음 state만 반환합니다.
초기 상태 구조가 화면 요구와 맞는지 확인합니다.
이벤트 핸들러는 계산보다 action 전달에 집중합니다.
배열과 객체는 복사해 새 상태를 반환합니다.
여러 컴포넌트가 dispatch하면 Context와 결합합니다.