当前位置:首页 > React

react如何获取input值

2026-03-31 13:54:16React

获取 input 值的几种方法

在 React 中,获取 input 值可以通过受控组件或非受控组件的方式实现。以下是常见的方法:

受控组件方式

受控组件通过 state 和事件处理函数来管理 input 的值。每次输入变化时,更新 state 并重新渲染组件。

react如何获取input值

import React, { useState } from 'react';

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

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

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

非受控组件方式

非受控组件通过 ref 直接访问 DOM 元素来获取 input 的值。适用于不需要实时更新 state 的场景。

react如何获取input值

import React, { useRef } from 'react';

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

  const handleSubmit = () => {
    console.log(inputRef.current.value);
  };

  return (
    <div>
      <input type="text" ref={inputRef} />
      <button onClick={handleSubmit}>Submit</button>
    </div>
  );
}

表单提交时获取值

在表单提交时,可以通过事件对象的 target 属性获取 input 的值。

import React from 'react';

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

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

使用自定义 Hook

如果需要复用逻辑,可以封装一个自定义 Hook 来管理 input 值。

import { useState } from 'react';

function useInput(initialValue) {
  const [value, setValue] = useState(initialValue);

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

  return {
    value,
    onChange: handleChange,
  };
}

function CustomHookInput() {
  const inputProps = useInput('');

  return <input type="text" {...inputProps} />;
}

以上方法可以根据具体需求选择使用。受控组件适合需要实时更新和验证的场景,而非受控组件适合简单表单或性能敏感的场景。

标签: reactinput
分享给朋友:

相关文章

react 如何执行

react 如何执行

安装 React 确保 Node.js 安装在本地环境中。通过以下命令创建新的 React 项目: npx create-react-app my-app 进入项目目录并启动开发服务器:…

react 如何debug

react 如何debug

React 调试方法 使用 React Developer Tools React Developer Tools 是浏览器扩展,支持 Chrome 和 Firefox。安装后,可以在开发者工具中查看…

odyssey react 如何

odyssey react 如何

Odyssey React 是耐克推出的一款跑鞋系列,以其轻量化设计和React泡沫缓震技术著称。以下是关于该系列鞋款的主要特点和使用建议: 核心特点 React泡沫中底提供出色的能量回馈和缓震效果…

react如何引入echarts

react如何引入echarts

安装 ECharts 依赖 在 React 项目中安装 ECharts 核心库和 React 封装库: npm install echarts echarts-for-react 基础引入方式 创建…

react路由如何刷新

react路由如何刷新

React 路由刷新方法 在 React 中,路由刷新通常涉及以下几种场景和解决方案: 强制重新加载当前页面 使用 window.location.reload() 可以强制刷新整个页面,但会丢失…

react如何过去id

react如何过去id

获取元素ID的方法 在React中获取DOM元素的ID可以通过多种方式实现,以下是几种常见的方法: 使用ref属性 通过React的useRef钩子可以获取DOM节点的引用,进而访问其ID属性。…