일반 form으로 작성하였을 경우
user가 개발자도구를 열어 html에서 해당 부분을 삭제한 후 유효하지 않은 값을 보낼 수 있다.
브라우저에서 html required 속성을 지원하지 않을 수 있다.
제어 컴포넌트로 폼을 다루기 위해서 하나하나 state를 선언해주고, 해당 state를 다루기 위해서 또 핸들링 함수를 만들어야 하는 등 코드의 길이가 불필요하게 길어진다.
모든 값이 state로 연결되어 있어 하나의 값이 변할 때 마다 여러 개의 자식 컴포넌트들에서 무수히 많은 리랜더링이 발생한다.
주의할 점
mode 옵션은 validation 전략을 설정하는 데 활용한다. (onSubmit, onChange, onBlur, all 등이 있음.)
주의해야 할 점은 mode를 onChange로 설정한 경우 다수의 리렌더링이 발생할 수 있어 성능에 영향을 끼칠 수 있다.