1、受控组件

  • 在 React 中,可变状态(mutable state)通常保存在组件的 state 属性中,并且只能通过使用 setState()来更新。
  • state:唯一数据源
  • 渲染表单的 React 组件还控制着用户输入过程中表单发生的操作。被 React 以这种方式控制取值的表单输入元素就叫做“受控组件”。
  • 示例:

2、Textarea标签

在 HTML 中, 元素通过其子元素定义其文本

在 React 中, 使用 value 属性代替示例:

3、Select标签

在 HTML 中, 创建下拉列表标签

React 在根 select 标签上使用 value 属性单选示例:

多选示例:

4、文件 input 标签

  • 因为它的 value 只读,所以它是 React 中的一个非受控组件

5、处理多个输入

  • 当需要处理多个 input 元素时,我们可以给每个元素添加 name 属性,并让处理函数根据 event.target.name 的值选择要执行的操作。
  • 示例:
  • 使用了 ES6 计算属性名称的语法更新给定输入名称对应的 state 值

6、受控输入空值

  • 在受控组件上指定 value 的 prop 会阻止用户更改输入。如果你指定了 value,但输入仍可编辑,则可能是你意外地将value 设置为 undefined 或 null。
  • 示例:

7、受控组件的替代品

  • 使用非受控组件, 这是实现输入表单的另一种方式。

8、成熟的解决方案

  • 包含验证、追踪访问字段以及处理表单提交的完整解决方案,使用 Formik 是不错的选择

关联文章:

  • React笔记——核心概念:1.Hello World
  • React笔记——核心概念:2.JSX简介
  • React笔记——核心概念:3.元素渲染
  • React笔记——核心概念:4.组件&Props
  • React笔记——核心概念:5.State&生命周期
  • React笔记——核心概念:6.事件处理
  • React笔记——核心概念:7.条件渲染
  • React笔记——核心概念:8.列表&Key

使用react实现select_React笔记——核心概念:9.表单相关推荐

  1. redux-form V.7.4.2学习笔记(六)表单同步校验技术

    一.客户端同步校验支持 redux-form V.7.4.2提供了两种方法可以为表单提供同步客户端校验支持. 第一种是为整个redux-form提供校验函数,该函数接受一个以表单中所有值组成的对象作为 ...

  2. springSecurity的学习笔记--使用spring-Security完成表单登陆,手机验证码登陆,第三方登陆

    环境搭建好后,之后的练习进入了一个十分痛苦的阶段!! 但是与此同时,收获也是比较可观的. 老师通过详细的视频讲解,完成了表单登陆,包括账号密码和验证码登陆,手机验证码登陆,第三方登陆. 每一个部分都进 ...

  3. SpringMVC:学习笔记(5)——数据绑定及表单标签

    SpringMVC--数据绑定及表单标签 理解数据绑定 为什么要使用数据绑定 基于HTTP特性,所有的用户输入的请求参数类型都是String,比如下面表单: 按照我们以往所学,如果要获取请求的所有参数 ...

  4. JavaScript自学笔记(1)---表单验证,let和const,JSON文件

    今天开个JS自学笔记,本身JS的语法很简单,如果学过Java或者C系的都很容易,就不讨论了.主要是讨论实际应用的问题. 1.表单验证: a.html自动验证: HTML 表单验证可以通过浏览器来自动完 ...

  5. react中使用非受控组件获取表单元素的值

    class Hello extends React.Component{constructor(){super() 利用react提供的React.createRef()this.ref=React. ...

  6. ray-tune 笔记 核心概念

    1 ray-tune 整体流程 在搜索空间(search space)中定义要调整的超参数 -->将它们传递到指定要tune的目标的可训练对象中(trainable) -->选择一种搜索算 ...

  7. react 封装表格组件_React--封装的表单组件

    var Form = React.createClass({ getInitialState(){ return { uname:'', upass:'' } }, login(e){ e.preve ...

  8. Java笔记-使用BindingResult把表单错误传出来

    目录 基本概念 演示及代码 基本概念 这里在特别是在提交表单数据的数据很常见,当提交的数据不完整的时候,也要回Json,并且把错误代码发出来,这里就的使用 BindingResult. 演示及代码 正 ...

  9. HTML 自学笔记(HTML框架+表单设计)

    HTML框架 什么是框架:将浏览器划分成不同部分,每一部分加载不同的网页,用以实现在同一浏览器窗口中加载多个页面的效果. <frameset> 划分框架标记. 语法格式:<frame ...

最新文章

  1. Java字符串用“。”(点)分隔。
  2. 有关“双重检查锁定失效”的说明
  3. mysql5.5数据库安装
  4. 消息队列 策略_太狠了!京东T8架构师建议吃透这40W字消息队列文档,涨薪15K不是梦...
  5. Google Chrome input 设置 line-height 后光标变得和input一样高
  6. 程序员修神之路--设计一套RPC框架并非易事
  7. 排序(冒泡、选择、插入、希尔、快排、堆排、归并)
  8. python函数执行shell_6方法,python中执行shell命令
  9. java防御性编程_代码防御性编程的十条技巧
  10. Javascript特效:照片墙
  11. java read bytes 阻塞_InputStream中read()与read(byte[] b)java InputStream读取数据问题 | 学步园...
  12. 关于web中的字体, .woff, .eot, .svg
  13. win8/win10任务栏/语言栏跳动/闪烁
  14. CJT长江连接器A1276系列线对板连接器排针排母PCB封装库
  15. linux下 kafka的安装
  16. 网络故障诊断的原则[转自www.cnitblog.com/wildon]
  17. Vant Tab标签页+下拉刷新+上拉加载
  18. iostream与iostream.h乱弹琴
  19. 计算机考研高数范围,考研数学一范围
  20. cf服务器断开连接不稳定,cf与服务器断开连接

热门文章

  1. 官方回应:钟南山院士是此次关于曹雪涛等论文调查复核专家组组长
  2. 《Nature》颠覆性发现!第四种热传递方式找到了
  3. 489个学位点被撤销,2018撤销和增列学位授权点名单公布
  4. 不是你无法入门自然语言处理,而是你没找到正确的打开方式
  5. 科研这条路:一位数学博士给本科生的建议
  6. mac docker搭建开发环境
  7. 23种设计模式之备忘录模式
  8. 6大设计原则之接口隔离原则
  9. 从框架源码中学习结构型设计模式
  10. java中的包装流和缓冲流概述