</> resetField:
(name: string, options?: Record<string, boolean | any>) => void
개별 필드의 상태를 초기화합니다.
Props
이 함수를 호출한 후:
isValid
폼 상태가 재평가됩니다.isDirty
폼 상태가 재평가됩니다.
ResetField
는 필드 상태를 유지할 수 있는 기능을 제공합니다. 사용할 수 있는 옵션은 다음과 같습니다:
이름 | 타입 | 설명 | |
---|---|---|---|
name | string | 등록된 필드 이름. | |
options | keepError | boolean | true 로 설정하면 필드 오류가 유지됩니다. |
keepDirty | boolean | true 로 설정하면 dirtyFields 가 유지됩니다. | |
keepTouched | boolean | true 로 설정하면 touchedFields 상태가 변경되지 않습니다. | |
defaultValue | unknown | 이 값이 제공되지 않으면 필드는 기본값으로 되돌아갑니다. 이 값이 제공되면:
|
규칙
-
name은 등록된 필드 이름과 일치해야 합니다.
register("test")resetField("test") // ✅ 등록된 입력과 resetField가 작동합니다.resetField("non-existent-name") // ❌ 입력을 찾을 수 없어 실패합니다.
예제:
필드 상태 초기화
import * as React from "react"import { useForm } from "react-hook-form"export default function App() {const {register,resetField,formState: { isDirty, isValid },} = useForm({mode: "onChange",defaultValues: {firstName: "",},})const handleClick = () => resetField("firstName")return (<form><input {...register("firstName", { required: true })} /><p>{isDirty && "dirty"}</p><p>{isValid && "valid"}</p><button type="button" onClick={handleClick}>초기화</button></form>)}
옵션과 함께 초기화
import * as React from "react"import { useForm } from "react-hook-form"export default function App() {const {register,resetField,formState: { isDirty, isValid, errors, touchedFields, dirtyFields },} = useForm({mode: "onChange",defaultValues: {firstName: "",},})return (<form><input {...register("firstName", { required: true })} /><p>isDirty: {isDirty && "dirty"}</p><p>touchedFields: {touchedFields.firstName && "touched field"}</p><p>dirtyFields:{dirtyFields.firstName && "dirty field"}</p><p>isValid: {isValid && "valid"}</p><p>error: {errors.firstName && "error"}</p><hr /><buttontype="button"onClick={() => resetField("firstName", { keepError: true })}>오류 유지하며 초기화</button><buttontype="button"onClick={() => resetField("firstName", { keepTouched: true })}>터치된 필드 유지하며 초기화</button><buttontype="button"onClick={() => resetField("firstName", { keepDirty: true })}>더티 필드 유지하며 초기화</button><buttontype="button"onClick={() => resetField("firstName", { defaultValue: "New" })}>기본값 업데이트</button></form>)}
비디오
아래 비디오 튜토리얼은 resetField
API를 시연합니다.
여러분의 지원에 감사드립니다
React Hook Form이 프로젝트에서 유용하다면, GitHub에서 스타를 눌러 지원해 주세요.