상태 전이가 여러 액션으로 나뉘고 다음 상태 규칙이 복잡해질 때 reducer가 힘을 발휘합니다.
설명할 수 있고, 코드에서 바로 찾을 수 있고, 작은 예제로 다시 확인할 수 있으면 통과입니다.
무슨 일이 일어났는지 type으로 표현합니다.
상태 변경 로직을 reducer 안에 모읍니다.
각 case는 새 상태 객체나 배열을 반환합니다.
초기값 계산이 필요하면 init 함수를 둡니다.