formState
</> formState: FormState
이 객체에는 전체 폼 상태에 관한 정보가 들어 있습니다. 사용자가 폼 애플리케이션과 상호작용한 내용을 추적하는 데 도움이 됩니다.
반환값
| 이름 | 타입 | 설명 |
|---|---|---|
isDirty | boolean | 사용자가 입력 중 하나라도 수정하면 true로 설정됩니다.
|
dirtyFields | object | 사용자가 수정한 필드를 담은 객체입니다. 모든 입력의 defaultValues를 useForm에서 제공하여 라이브러리가 defaultValues.와 비교할 수 있게 해야 합니다.
|
touchedFields | object | 사용자가 상호작용한 모든 입력을 담은 객체입니다. |
defaultValues | object | v7.37.0부터 useForm의 defaultValues에 설정했거나 defaultValues를 reset API로 갱신한 값입니다. |
isSubmitted | boolean | 폼이 제출되면 true로 설정되고, true 상태는 reset 메서드를 호출할 때까지 유지됩니다. |
isSubmitSuccessful | boolean | 런타임 오류 없이 폼이 성공적으로 제출되었음을 나타냅니다. |
isSubmitting | boolean | 현재 폼을 제출 중이면 true, 그렇지 않으면 false입니다. |
isLoading | boolean | v7.41.0부터 현재 폼이 비동기 기본값을 불러오는 중이면 true입니다.
|
submitCount | number | 폼이 제출된 횟수입니다. |
isValid | boolean | 폼에 오류가 없으면 true로 설정됩니다.
|
isValidating | boolean | 검증 중에는 true로 설정됩니다. |
validatingFields | object | v7.51.0부터 비동기 검증이 진행 중인 필드를 담습니다. |
errors | object | 필드 오류를 담은 객체입니다. 오류 메시지를 쉽게 가져올 수 있는 ErrorMessage 컴포넌트도 있습니다. |
disabled | boolean | v7.48.0부터 폼이 비활성화되면 true로 설정됩니다. useForm의 disabled 속성으로 폼을 비활성화할 수 있습니다. |
isReady | boolean | v7.56.0부터 formState 구독 설정이 준비되면 true로 설정됩니다.
|
예제
import { useForm } from "react-hook-form";
export default function App() {
const {
register,
handleSubmit,
// Read the formState before render to subscribe the form state through the Proxy
formState: { errors, isDirty, isSubmitting, touchedFields, submitCount },
} = useForm();
const onSubmit = (data) => console.log(data);
return (
<form onSubmit={handleSubmit(onSubmit)}>
<input {...register("test")} />
<input type="submit" />
</form>
);
}