초기값
각 필드의 기본값을 정하고 undefined에서 문자열로 바뀌는 경고를 피한다.
폼 다루기는 input 값을 state에 넣는 예제에서 멈추지 않고, 입력 중인 값과 검증 오류, 제출 중 상태를 서로 다른 책임으로 관리해야 한다.
각 필드의 기본값을 정하고 undefined에서 문자열로 바뀌는 경고를 피한다.
onChange에서 필드 값을 갱신하고 필요한 경우 touched를 표시한다.
필수값과 형식 오류를 필드별로 계산해 메시지를 연결한다.
submit에서는 기본 동작을 막고 검증 통과 후 요청 또는 결과 처리를 진행한다.