当前位置:首页 > React

react如何获取input

2026-02-26 11:46:51React

获取input值的几种方法

在React中获取input元素的值有多种方式,具体取决于组件的类型(受控或非受控)以及使用的React版本。以下是几种常见的方法:

受控组件方式 通过React的state管理输入值,每次输入变化时更新state:

react如何获取input

import { useState } from 'react';

function ControlledInput() {
  const [value, setValue] = useState('');

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

  return <input value={value} onChange={handleChange} />;
}

非受控组件方式 使用ref直接访问DOM元素获取值:

react如何获取input

import { useRef } from 'react';

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

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

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

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

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

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

类组件中的使用 在类组件中可以使用createRef或回调ref:

class ClassComponentInput extends React.Component {
  inputRef = React.createRef();

  handleClick = () => {
    console.log(this.inputRef.current.value);
  };

  render() {
    return (
      <>
        <input ref={this.inputRef} />
        <button onClick={this.handleClick}>Get Value</button>
      </>
    );
  }
}

选择哪种方法取决于具体需求:需要实时验证或控制输入时使用受控组件;只需要最终值时使用非受控组件可能更简单。

标签: reactinput
分享给朋友:

相关文章

react如何diff

react如何diff

React Diff 算法原理 React 的 Diff 算法是 Virtual DOM 的核心部分,用于高效更新真实 DOM。其核心思想是通过对比新旧 Virtual DOM 树的差异,最小化 DO…

react如何动画

react如何动画

React 动画实现方法 React 中实现动画可以通过多种方式,包括原生 CSS、第三方库或 React 内置的动画解决方案。以下是几种常见方法: 使用 CSS 动画和过渡 通过 CSS 的 tr…

react如何实现混入

react如何实现混入

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

react 如何使用 apply

react 如何使用 apply

使用 apply 方法的基本概念 在 JavaScript 中,apply 是函数原型上的方法,用于调用函数时指定 this 的值和传递参数数组。React 中可以使用 apply 来绑定组件方法或调…

react如何部署linux

react如何部署linux

部署 React 应用到 Linux 服务器的步骤 构建生产环境代码 在本地开发环境中运行构建命令,生成优化后的静态文件: npm run build 这会生成一个 build 目录,包含所有压缩和…

react如何删除组件

react如何删除组件

删除 React 组件的几种方法 条件渲染法 通过状态控制组件是否渲染。当状态为 false 时,组件会被移除: const [showComponent, setShowComponent] =…