当前位置:首页 > React

react如何获取input值

2026-03-10 14:26:18React

获取 React 中 input 值的常用方法

受控组件方式
通过 useState 绑定 valueonChange 事件,实时同步输入框的值到状态:

import { useState } from 'react';

function ControlledInput() {
  const [inputValue, setInputValue] = useState('');

  const handleChange = (e) => {
    setInputValue(e.target.value);
  };

  return (
    <input 
      type="text" 
      value={inputValue} 
      onChange={handleChange} 
    />
  );
}

非受控组件方式
使用 useRef 直接访问 DOM 元素,适合需要手动触发获取值的场景:

import { useRef } from 'react';

function UncontrolledInput() {
  const inputRef = useRef(null);

  const handleClick = () => {
    alert(inputRef.current.value);
  };

  return (
    <>
      <input type="text" ref={inputRef} />
      <button onClick={handleClick}>获取值</button>
    </>
  );
}

表单提交时获取值
通过 onSubmit 事件结合 FormData 获取多个输入值:

function FormExample() {
  const handleSubmit = (e) => {
    e.preventDefault();
    const formData = new FormData(e.target);
    console.log(formData.get('username')); // 通过 name 属性获取
  };

  return (
    <form onSubmit={handleSubmit}>
      <input type="text" name="username" />
      <button type="submit">提交</button>
    </form>
  );
}

第三方库简化
使用如 react-hook-form 等库管理表单状态:

react如何获取input值

import { useForm } from 'react-hook-form';

function HookFormExample() {
  const { register, handleSubmit } = useForm();

  const onSubmit = (data) => {
    console.log(data.inputName); // 自动收集表单数据
  };

  return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <input {...register('inputName')} />
      <button type="submit">提交</button>
    </form>
  );
}

方法选择建议

  • 实时验证/反馈:优先使用受控组件。
  • 性能敏感场景:非受控组件减少渲染次数。
  • 复杂表单:考虑 react-hook-formformik 等库。

标签: reactinput
分享给朋友:

相关文章

react如何使用

react如何使用

React 的基本使用 React 是一个用于构建用户界面的 JavaScript 库,以下是一些核心概念和使用方法。 安装 React 通过 create-react-app 快速搭建 React…

react如何更新

react如何更新

更新 React 版本的方法 检查当前 React 版本 运行以下命令查看项目中安装的 React 版本: npm list react 更新 React 及相关依赖 通过 npm 或 yarn…

react如何运行

react如何运行

运行React项目的步骤 安装Node.js 确保系统已安装Node.js(建议版本12以上),可从官网下载并安装。Node.js自带npm包管理器,用于后续依赖安装。 创建React项目 使用官方…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

react如何折叠

react如何折叠

在 React 中实现折叠功能 使用 useState 管理折叠状态 通过 useState 定义一个状态变量来控制折叠面板的显示与隐藏。例如: const [isCollapsed, setIsC…

react如何创建框架

react如何创建框架

React 创建框架的方法 React 本身是一个用于构建用户界面的 JavaScript 库,但可以通过多种方式创建框架或项目结构。以下是几种常见的方法: 使用 Create React App…