react 表单

Web前端培训:三个最佳React表单库

在Web前端开发中,表单是必不可少的一部分,随着React框架的流行,越来越多的开发者开始使用React来构建表单应用,本文将介绍三个最佳的React表单库,帮助你快速搭建高效的表单应用。

react 表单

1、Formik

Formik是一个基于React的状态驱动表单库,它提供了一种简单、直观的方式来处理表单验证和提交,Formik的核心组件是<Formik><Form><Field>,通过组合这些组件,你可以轻松地实现复杂的表单功能。

安装Formik:

react 表单

npm install formik

使用Formik:

import React from 'react';
import { Formik, Form, Field } from 'formik';
const App = () => (
  <div>
    <h1>React Formik 示例</h1>
    <Formik initialValues={{ name: '', email: '' }}>
      {({ handleSubmit, values }) => (
        <form onSubmit={handleSubmit}>
          <label htmlFor="name">姓名:</label>
          <Field name="name" type="text" />
          <br />
          <label htmlFor="email">邮箱:</label>
          <Field name="email" type="email" />
          <br />
          <button type="submit">提交</button>
        </form>
      )}
    </Formik>
  </div>
);
export default App;

2、react-hook-form

react-hook-form是一个基于React的状态驱动表单库,它提供了一系列预定义的表单组件,以及强大的验证和错误处理功能,react-hook-form的核心组件是useForm,通过调用这个Hook,你可以轻松地创建和管理表单状态。

react 表单

安装react-hook-form:

npm install react-hook-form

使用react-hook-form:

import React from 'react';
import { useForm } from 'react-hook-form';
import { yupResolver } from '@hookform/resolvers/yup'; // 需要引入yup库进行表单验证配置
import * as yup from 'yup'; // 需要引入yup库进行表单验证配置
import { Button, Form, Input } from 'antd'; // 需要引入Ant Design库的UI组件库
const schema = yup.object().shape({
  name: yup.string().required('请输入姓名'),
  email: yup.string().email('请输入有效的邮箱地址').required('请输入邮箱'),
}); // 定义表单验证规则
const App = () => {
  const { register, handleSubmit, formState: { errors } } = useForm({
    resolver: yupResolver(schema), // 将验证规则与表单状态关联起来
  }); // register函数用于生成表单控件的实例,handleSubmit用于处理表单提交事件,errors用于获取表单验证错误信息。
  return (
    <div>
      <h1>React Hook Form 示例</h1>
      <Form form={register(schema)} onFinish={handleSubmit(data => console.log(data))}>
        <Form.Item name="name" label="姓名" rules={[{ required: true, message: '请输入姓名' }]}>
          <Input />
        </Form.Item>
        <Form.Item name="email" label="邮箱" rules={[{ type: 'email', message: '请输入有效的邮箱地址', required: true }]}>
          <Input />
        </Form.Item>
        <Form.Item>
          <Button type="primary" htmlType="submit">提交</Button>{' '}
        </Form.Item>{' '}
      </Form>{' '}
      {errors && Object.keys(errors).map((key) => ({ key, ...errors[key] }))} // 如果有错误信息,则展示出来,每个错误对象包含一个唯一的键(fieldName)和相应的错误信息。{' '}
    </div>
  ); // 将生成的表单控件渲染到页面上,如果有错误信息,则以列表的形式展示出来。{' '}

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/131439.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2023-12-15 21:39
Next 2023-12-15 21:40

相关推荐

  • html表单密码框怎么弄

    HTML表单密码框的创建和使用在HTML中,我们可以使用&lt;input&gt;标签来创建各种类型的输入字段,包括密码框,密码框是一种特殊类型的输入字段,它用于接收用户输入的密码,以下是如何创建一个密码框的详细步骤:1. 创建密码框元素要创建一个密码框,我们首先需要使用&lt;input&gt;标签,……

    2023-12-21
    0334
  • html注册跳转登录代码怎么写

    在Web开发中,注册和登录是网站的基本功能之一,HTML是一种标记语言,用于创建网页的结构,HTML本身并不能实现注册和登录的功能,这需要结合后端编程语言(如PHP、Java、Python等)和数据库技术(如MySQL、MongoDB等)来实现,我们可以使用HTML来创建注册和登录的表单,然后通过JavaScript和后端代码来处理这……

    2024-03-02
    0256
  • html上一页下一页怎么做

    在HTML页面中显示上一个页面的数据,通常涉及到的是前端开发中的路由和状态管理,这里我们以React为例,介绍如何在HTML页面中显示上一个页面的数据。1、使用React RouterReact Router是一个用于React应用的路由器,它可以让你的应用支持URL路由,通过React Router,我们可以在切换页面时保存当前页面……

    2024-02-29
    0277
  • html如何接收表单提交的内容

    HTML表单的基本原理HTML表单是网页中的一种交互式元素,它允许用户通过输入数据来与网页进行交互,表单通常包含一组输入字段,用户可以在这些字段中输入文本、数字、日期等类型的数据,当用户提交表单时,表单的数据会被发送到服务器进行处理。HTML如何接收表单提交的内容1、使用&lt;form&gt;标签创建表单在HTML中……

    2023-12-22
    0103
  • 探究uni-app和React的特点介绍

    一、uni-app简介uni-app是一个使用Vue.js开发所有前端应用的框架,开发者编写一次代码,可编译到iOS、Android、H5等多个平台,uni-app具有跨平台、高性能、易维护等特点,让开发者能够快速搭建出丰富的移动端应用。二、uni-app特点1. 跨平台:uni-app可以编译成多个平台的应用,如iOS、Androi……

    2023-11-20
    0250
  • html5表单提交代码

    哈喽!相信很多朋友都对html5表单提交代码不太了解吧,所以小编今天就进行详细解释,还有几点拓展内容,希望能给你一定的启发,让我们现在开始吧!请问怎么写一个静态html提交表单到邮箱去.具体代码怎么实现.急求啊...表单的提交只需要在FORM中设置发送到自己的信箱即可。动态网页的制作需要用到XP的组件IIS,否则在本地浏览只能适用于静态网页。

    2023-12-04
    0151

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入