当前位置:首页 > React

react如何获取input值

2026-02-12 10:20:17React

获取 input 值的几种方法

受控组件方式
通过 React 的状态管理机制,将 input 的值绑定到组件的 state 中。每当 input 的值发生变化时,更新 state,从而实现对 input 值的控制。

import React, { useState } from 'react';

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

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

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

非受控组件方式
使用 useRef 钩子直接访问 DOM 元素,适用于不需要实时更新 state 的场景。

import React, { useRef } from 'react';

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

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

  return (
    <div>
      <input type="text" ref={inputRef} />
      <button onClick={handleClick}>Get Value</button>
    </div>
  );
}

表单提交时获取值
在表单提交事件中,通过事件对象直接获取 input 的值。

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

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

使用第三方库
如 Formik 或 React Hook Form 可以简化表单管理和值获取。

react如何获取input值

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

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

  const onSubmit = (data) => {
    console.log(data.inputName);
  };

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

标签: reactinput
分享给朋友:

相关文章

react架构如何

react架构如何

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

react如何打包

react如何打包

打包 React 项目的基本步骤 React 项目通常使用 create-react-app 或类似的脚手架工具创建,这些工具内置了打包功能。以下是打包 React 项目的详细方法: 安装依赖并构建…

react如何配置

react如何配置

配置React项目的基本步骤 安装Node.js和npm 确保系统已安装Node.js(包含npm)。可通过命令行检查版本: node -v npm -v 创建React项目 使用官方工具Creat…

react如何减少setState

react如何减少setState

减少 React 中 setState 调用的方法 合并多次状态更新 使用函数式更新方式合并多次 setState 调用。React 会将多次状态更新批量处理,避免不必要的重新渲染。 // 非函…

react路由如何配置

react路由如何配置

React 路由配置方法 安装 React Router 使用 npm 或 yarn 安装 React Router 的 DOM 版本: npm install react-router-dom #…

react如何重新加载

react如何重新加载

重新加载当前页面 在React中重新加载当前页面可以通过window.location.reload()方法实现。该方法会强制浏览器重新加载当前URL,类似于按下F5刷新页面。 const relo…