입력 작성
draft state가 input value를 소유하고 빈 값 제출을 막는다.
할 일 목록은 작은 예제지만, 입력 초안과 항목 배열, 필터, 완료 토글, 저장 위치를 분리하면 React 앱 상태 설계의 기본을 확인할 수 있다.
draft state가 input value를 소유하고 빈 값 제출을 막는다.
submit 시 안정 id를 가진 todo 객체를 배열 앞이나 뒤에 추가한다.
완료 토글과 삭제는 기존 배열을 직접 바꾸지 않고 새 배열을 만든다.
필터된 목록은 원본 todos에서 계산하고 별도 state로 복제하지 않는다.