当前位置:首页 > React

react如何获取输入框的值

2026-01-26 05:42:24React

获取输入框值的常用方法

受控组件方式
通过useState管理输入框的值,将状态与输入框的value属性绑定,监听onChange事件更新状态:

react如何获取输入框的值

import { useState } from 'react';

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

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

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

非受控组件方式
使用useRef直接获取DOM元素,通过ref.current.value访问值:

react如何获取输入框的值

import { useRef } from 'react';

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

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

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

表单提交场景的处理

表单提交时获取值
在表单的onSubmit事件中通过事件对象获取:

function FormExample() {
  const handleSubmit = (e) => {
    e.preventDefault();
    const value = e.target.elements.inputName.value;
    console.log(value);
  };

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

动态输入框处理

多个输入框的场景
使用对象管理多个输入框状态,通过name属性区分:

function MultiInputExample() {
  const [formData, setFormData] = useState({
    username: '',
    password: ''
  });

  const handleChange = (e) => {
    const { name, value } = e.target;
    setFormData(prev => ({ ...prev, [name]: value }));
  };

  return (
    <>
      <input 
        name="username" 
        value={formData.username} 
        onChange={handleChange} 
      />
      <input 
        name="password" 
        value={formData.password} 
        onChange={handleChange} 
      />
    </>
  );
}

注意事项

  • 受控组件适合需要实时验证或即时反馈的场景
  • 非受控组件适合需要手动触发获取值的场景
  • 动态表单推荐使用对象管理状态以减少重复代码

标签: 输入框react
分享给朋友:

相关文章

如何生成react代码

如何生成react代码

使用 Create React App 生成项目 安装 Node.js 后,通过命令行工具运行以下命令创建新项目: npx create-react-app my-app cd my-app np…

如何react页面

如何react页面

创建 React 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 基础页面结构 在 s…

react如何查

react如何查

React 查询方法 React 提供了多种查询 DOM 元素的方式,以下是几种常见的方法: 使用 ref 通过 useRef 钩子可以获取 DOM 节点的引用,适用于直接操作 DOM 的场景。…

react如何调试

react如何调试

调试 React 应用的方法 使用 React Developer Tools React Developer Tools 是 Chrome 和 Firefox 的浏览器扩展,可以检查组件树、状态和…

react架构如何

react架构如何

React 架构核心概念 React 的架构围绕组件化、虚拟 DOM 和单向数据流设计。组件是构建用户界面的独立模块,分为函数组件和类组件。虚拟 DOM 通过高效的 Diff 算法减少直接操作真实 D…

react如何encode

react如何encode

React 中编码的实现方式 在 React 中,编码通常涉及对 URL、HTML 实体或特殊字符的处理。以下是几种常见的编码方法: 使用 encodeURIComponent 进行 URL 编码…