복잡한 폼은 값·검증·제출 상태를 분리해 흐르게 한다

한 객체에 모든 것을 섞지 않고 각 단계가 다음 단계에 필요한 정보만 전달한다.

입력

values

필드 이름별 현재 값

접촉

touched

사용자가 확인한 필드만 오류 노출

검증

errors

values에서 계산한 필드별 메시지

제출

isSubmitting

중복 제출을 막고 요청 상태 표시

결과

server errors

업무 규칙 실패를 관련 필드에 연결

핵심필드 수정은 해당 오류를 다시 계산하고, 제출 성공은 초기화 정책에 따라 상태를 한 번에 정리한다.