const {
control,
reset,
formState: { isDirty },
handleSubmit,
} = useForm({
defaultValues: DEFAULT_DATA,
})isDirty 在更新表單後會保持 true 的狀態,如果要讓 isDirty 變回 false 狀態需要手動 reset
reset({})reset 的第二個參數可以設置是否要保留錯誤、目前的值、更新的欄位值…等,更多的可以看 reset
reset({}, { keepValues: true })但要注意的是,如果是通過 useForm() 獲取的 formState.isDirty ,某些時候會在 reset 後從 false 又變回 true,所以建議使用 useFormState 這個 hook 來獲取 isDirty
const { isDirty } = useFormState({ control })
