입력값을 누가 소유할지 필요한 제어 수준으로 고른다

매 입력마다 검증·연동해야 하는지, 제출 순간 값만 필요할지를 먼저 묻는다.

입력 중 React가 값을 알아야 하는가?실시간 UI 반응과 검증 요구를 확인

Controlled

value와 onChange로 state가 단일 원본

아니오

Uncontrolled

DOM이 값을 보관하고 ref/FormData로 읽음

혼합 필요

필드별 선택

검색어는 controlled, 파일 입력은 uncontrolled

폼이 큼

Form library

등록·검증·오류 연결을 전용 도구에 위임

핵심controlled가 항상 우월한 것이 아니라 화면이 입력 중 값을 사용해야 할 때 비용을 감수하는 선택이다.