当前位置:首页 > 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组件状态的方法 使用useState和useEffect钩子组合可以同步React组件的状态。useState用于声明状态变量,useEffect用于监听状态变化并执行副作用。 imp…

react如何同步

react如何同步

React 同步状态管理方法 在 React 中实现同步状态管理,可以通过以下多种方式实现: 使用 useState 和 useEffect 钩子 通过 useState 定义状态,使用 useEf…

react 如何跳转

react 如何跳转

使用 React Router 进行页面跳转 React 应用中通常使用 react-router-dom 库实现页面跳转。以下是几种常见的跳转方式: 安装依赖 npm install react…

react如何建项目

react如何建项目

创建React项目的几种方法 使用官方工具Create React App(CRA) npx create-react-app my-app 这条命令会创建一个名为my-app的新React项目,包含…

react如何创建项目

react如何创建项目

使用 Create React App 创建项目 Create React App (CRA) 是官方推荐的 React 项目脚手架工具,适合快速初始化一个现代化的 React 项目。 安装 C…

react如何实现混入

react如何实现混入

在React中实现混入(Mixin)功能可以通过以下几种方式实现,React官方已不推荐使用传统的React.createClass混入方式,但可通过高阶组件或自定义Hook替代。 高阶组件(HOC…