입력 state를 읽어 새 항목 객체를 만들고 기존 목록 뒤에 새 배열로 붙입니다.
task model
할 일 앱 state 모델
입력값, 목록 배열, 완료 여부가 서로 다른 이벤트에서 바뀌어도 같은 항목 구조를 기준으로 움직여야 합니다.
선택한 id의 completed만 반전하고 나머지 항목은 그대로 보존합니다.
filter로 제거 대상 id를 제외한 새 목록을 만들어 렌더 결과를 갱신합니다.
추가되는 항목마다 중복되지 않는 식별자를 둔다.
빈 입력을 목록에 넣지 않도록 제출 전에 거른다.
완료 상태는 항목 객체 안에서 함께 관리한다.
삭제는 원본 배열 변경이 아니라 새 배열 생성으로 처리한다.