Reactjs 反应钩子窗体知道何时修改值

Reactjs 反应钩子窗体知道何时修改值,reactjs,react-hook-form,Reactjs,React Hook Form,我们怎样才能知道表单是否以react-hook的形式被修改。 谁都知道。 我想知道是否有任何值被更改,并将编辑状态更新为true 在我提供defaultValue以使用表单{defaultValues:values}之后。 当值更新或更改为默认值时,我希望收到通知。使用isDirty属性 以下是使用isDirty属性 这是您可以从formstate使用的,检查修改字段的长度 const [isEdited, setIsEdited] = useState(false); const fields

我们怎样才能知道表单是否以react-hook的形式被修改。 谁都知道。 我想知道是否有任何值被更改,并将编辑状态更新为true

在我提供defaultValue以使用表单{defaultValues:values}之后。 当值更新或更改为默认值时,我希望收到通知。

使用isDirty属性

以下是使用isDirty属性

这是您可以从formstate使用的

,检查修改字段的长度

const [isEdited, setIsEdited] = useState(false);
const fieldsEdited = formState.dirtyFields;
useEffect(() => {
    if (Object.keys(fieldsEdited).length > 0) {
        setIsEdited(true);
    } else {
        setIsEdited(false);
    }
}, [fieldsEdited]);
您还可以使用from formstate,检查修改字段的长度

const [isEdited, setIsEdited] = useState(false);
const fieldsEdited = formState.dirtyFields;
useEffect(() => {
    if (Object.keys(fieldsEdited).length > 0) {
        setIsEdited(true);
    } else {
        setIsEdited(false);
    }
}, [fieldsEdited]);

问题是单击某个字段,不更改任何内容,然后再次单击该字段,则已将其设置为true。问题是单击某个字段,不更改任何内容,然后再次单击该字段,则已将其设置为true。