我在我的项目中使用react hook表单,我有两个完全独立的表单,但当我提交其中一个表单时,如果另一个表单中的某些字段是必需的,我无法提交当前表单,请选中demo,然后try 提交其中一个表单,这些表单应该独立工作,但看起来它们相互依赖.

需要帮忙吗?

推荐答案

欢迎来到StackOverflow@webcoder

import React from "react";
import ReactDOM from "react-dom";
import { useForm } from "react-hook-form";

import "./styles.css";

function App() {
  const {
    register,
    formState: { errors },
    handleSubmit,
  } = useForm({
    mode: "onBlur",
  });

  const {
    register: register2,
    formState: { errors: errors2 },
    handleSubmit: handleSubmit2,
  } = useForm({
    mode: "onBlur",
  });

  const onSubmit = (data) => {
    alert(JSON.stringify(data));
  };

  const onSubmitEmail = (data) => {
    alert(JSON.stringify(data));
  };

  return (
    <div className="App">
      <form key={1} onSubmit={handleSubmit(onSubmit)}>
        <div>
          <label htmlFor="firstName">First Name</label>
          <input
            name="firstName"
            placeholder="bill"
            ref={register({ required: true })}
          />
          {errors.firstName && <p>This is required</p>}
        </div>

        <div>
          <label htmlFor="lastName">Last Name</label>
          <input
            name="lastName"
            placeholder="luo"
            ref={register({ required: true })}
          />
          {errors.lastName && <p>This is required</p>}
        </div>
        <input type="submit" />
      </form>

      <form key={2} onSubmit={handleSubmit2(onSubmitEmail)}>
        <div>
          <label htmlFor="email" placeholder="bluebill1049@hotmail.com">
            Email
          </label>
          <input name="email" ref={register2({ required: true })} />
          {errors2.email && <p>This is required</p>}
        </div>
        <input type="submit" />
      </form>
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

Reactjs相关问答推荐

如何将google地址lat收件箱设置为输入值?

Inbox Enum类型以React组件状态时出现TypScript错误

如何使用react-router-dom导航到网页中的其他路由?

sourceBuffer. appendBuffer成功,但h5视频播放器卡住了

REACT路由DOM根据参数呈现不同的路由

可选链和useState挂钩

Reaction-路由v6动态路径RegExp

为什么登录错误和密码在创建Reaction-Hook-Form后立即被删除?

在reduce()方法上得到NaN

在添加了useplacesautocomplete后,在构建React/Next.js项目时,NPM抛出类型期望的错误

cypress `cy.now()` Type 'Promise' 没有调用签名

为什么我会收到此错误:无法在我的react 包上读取 null 的属性(读取useState)?

FlatList 不在 React Native 中呈现项目

Material UI v5.11 - Prop sx 在响应式中写了两次

在 React 中将路径与查询变量匹配

react 测试显示错误的结果

如何制作基于对象 struct 呈现数据的可重用组件?

Cypress - 在继续之前等待下一个按钮重新出现

react 路由路由加载器不适用于嵌套组件

React Hooks 表单在日志(log)中显示未定义的用户名