reducer
순수 계산 함수
입력 상태와 action만 보고 새 상태를 반환한다. 직접 변경은 피한다.
복잡한 상태는 이벤트마다 직접 수정하기보다 action을 보내고 reducer가 다음 상태를 계산하게 만들면 흐름이 선명해진다.
입력 상태와 action만 보고 새 상태를 반환한다. 직접 변경은 피한다.
컴포넌트는 어떻게 바꿀지가 아니라 무슨 일이 일어났는지를 보낸다.
상태 구조가 분명해져 조건 분기와 테스트가 쉬워진다.
여러 하위 상태가 함께 바뀌거나 action 종류가 늘면 useReducer가 유리하다.