npm install react-hook-form
import { useForm } from 'react-hook-form';
const { register, handleSubmit, formState: { errors }, reset } = useForm({ mode: 'onChange' });
| register | 각 input 필드를 react-hook-form과 연결합니다. |
| handleSubmit | 폼 제출 시 실행할 콜백 함수를 설정합니다. |
| errors | 유효성 검사 실패 시 발생하는 오류 정보를 담고 있습니다. |
| reset | 폼 초기화를 담당하는 함수입니다. |
| mode: 'onChange' | 사용자가 input 필드에 입력할 때마다 유효성 검사가 이루어지도록 설정합니다. |
const userEmail = { required: '필수 필드입니다.' };
const userName = { required: '필수 필드입니다.' };
const userPassword = {
required: '필수 필드입니다.',
minLength: { value: 6, message: '최소 4자리로 입력해 주세요.' },
};
const onSubmit = ({ email, password, name }) => {
reset();
};
예시
<input type='email' {...register('email', userEmail)} />
{errors?.email && <span className='text-red-500'>{errors.email.message}</span>}
아래 사진과 같이 입력되지 않은 항목에 대해 사용자 화면에 설정한대로 알림이 표출됩니다.
