Studying/React
리액트 공부하기 - hook form
creamymood
2025. 6. 24. 15:37
hook form에서 form 태그가 필요한 이유
React Hook Form을 쓸 거면 <form> 태그는 꼭 있어야 해!
왜냐면, React Hook Form은 HTML <form>의 submit 동작을 기반으로 작동하기 때문이야.
왜 꼭 <form> 태그로 감싸야 할까?
1. submit 이벤트의 중심은 form이다
- React Hook Form에서 사용하는 handleSubmit은 form의 submit 이벤트를 감지해서 유효성 검사를 하고 데이터를 처리해.
- 이 submit 이벤트는 <form onSubmit={...}> 안에서만 자연스럽게 동작해.
- 버튼만 클릭하는 게 아니라 Enter 키를 눌러도 폼 제출이 가능하게 하려면 <form>이 필요해.
2. 웹 표준과 접근성
- <form> 태그는 브라우저와 스크린 리더 등 보조 기기들이 이해할 수 있는 웹 표준 구조야.
- 이걸 안 쓰면 접근성이 떨어지고 웹 앱이 엉성해 보여.
3. 브라우저의 자동 동작을 활용
- 자동으로 input 포커스 이동
- type="submit" 버튼 클릭 시 제출
- Enter 키로 제출
- <form> 안에서 <input>을 쓰면 이런 기능들이 기본 제공됨
4. React Hook Form의 내부 로직이 form을 전제로 동작
React Hook Form은 기본적으로 이렇게 사용하지?
<form onSubmit={handleSubmit(onValid)}>
<input {...register("email", { required: true })} />
<button type="submit">제출</button>
</form>
이 handleSubmit() 함수는 form이 submit되는 순간에 호출되도록 설계되어 있어.
만약 <form>이 없으면, 그 submit 이벤트가 아예 발생하지 않아서 내부 로직도 무용지물이 돼.
✅ submit 이벤트 중심 | handleSubmit이 동작하려면 form의 submit 이벤트가 필요 |
✅ 웹 표준 | 브라우저가 form 구조를 이해하고 자동 기능 제공 |
✅ Enter로 제출 가능 | input에서 Enter 누르면 자동으로 submit됨 |
✅ 접근성 보장 | 스크린리더 등에서 구조 이해 가능 |
✅ React Hook Form 구조상 필수 | 내부 로직이 form 이벤트를 기반으로 만들어짐 |