values, errors, touched를 분리해 현재 값과 사용자에게 보여줄 오류를 구분합니다.
complex form state
복잡한 폼 상태 관리
입력 필드가 많아지면 useReducer나 커스텀 훅으로 change, blur, submit action을 모아 값과 검증 결과를 함께 갱신합니다.
CHANGE_FIELD, BLUR_FIELD, SUBMIT_START 같은 action이 폼 흐름을 기록합니다.
useForm은 register, handleSubmit, reset처럼 재사용 가능한 폼 API를 반환합니다.
필드 이름과 검증 규칙을 한곳에 모읍니다.
입력 변경은 해당 필드만 갱신합니다.
방문한 필드에만 오류를 보여줄 수 있습니다.
제출 중 중복 클릭과 서버 오류를 처리합니다.