尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

何为受控组件(controlledcomponent) ?

何为受控组件(controlledcomponent) ?
📅 发布时间:2026/6/20 23:44:34

“受控组件 (Controlled Component)” 是 React 中表单处理的一个核心概念。

定义

受控组件:指那些表单输入值由 React 组件的 state 控制的组件。

也就是说:

  • 表单控件的 显示值(value) 来自组件的 state;

  • 当用户输入时,通过 onChange 事件 更新 state;

  • 组件的 state → 控件的值,形成了单向数据流。

通俗理解

你可以理解成:

React “接管”了输入框的值。
输入框的内容不再由浏览器自己管理,而是由 React 的 state 管理。

示例对比

受控组件
function Form() {const [name, setName] = React.useState('');const handleChange = (e) => setName(e.target.value);const handleSubmit = (e) => {e.preventDefault();alert('提交的名字是:' + name);};return (<form onSubmit={handleSubmit}><input value={name} onChange={handleChange} /><button type="submit">提交</button></form>);
}
  • 输入框的值 value={name} 由 React 的 state 控制;

  • 用户输入时触发 onChange 更新 state;

  • React 永远知道输入框里是什么。

非受控组件(Uncontrolled Component)
function Form() {const inputRef = React.useRef();const handleSubmit = (e) => {e.preventDefault();alert('提交的名字是:' + inputRef.current.value);};return (<form onSubmit={handleSubmit}><input ref={inputRef} /><button type="submit">提交</button></form>);
}
  • 表单的值由 DOM 自己维护;

  • React 只是“读取”这个值;

  • React 不知道实时的输入变化。

对比总结

对比项 受控组件 非受控组件
数据来源 React state DOM 自身
取值方式 通过 state 通过 ref
监听变化 onChange 更新 state 不一定监听
适用场景 数据同步、校验、动态表单 简单场景、第三方库
优点 数据可控、便于校验 更接近原生
缺点 代码略多,需写 onChange React 不知道值的变化

一句话总结

受控组件 = 表单输入受 React state 控制的组件。
React 的 state 是“唯一数据源”。

相关新闻

  • Java 开发开篇
  • 深入解析:Node.js 完全安装与使用指南:Windows 平台详细教程
  • 2025 年液位计厂家最新推荐榜,深度解析行业头部品牌技术实力与市场口碑

最新新闻

  • Python 爬虫遇到 403 的经验复盘
  • MCF5272中断系统与PLIC模块配置实战指南
  • 第02章|过目不忘:Claude Code 记忆系统与 CLAUDE
  • 医疗陪诊顾问证书用途大盘点!不止接单从业这一项 - 光耀华夏品牌榜
  • 17_家政服务_GEO营销案例实践总结 - 技术瞭望台
  • E-Ink Launcher:为墨水屏设备打造的终极Android启动器解决方案

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号