React 受控组件

复习 2019-1-22

1.受控组件:在原生的HTML中,input(type=‘text’) textarea select 三个元素的内部的属性可以随着用户的输入变化。

2.react 中使用 state 控制属性的变化,将原生的受控组件和 react 中 state 结合。

class Text extends React.Component {constructor(props) {super(props);this.state = {value: ''};}handleChange = (e) => {let text = e.target.value.trim();this.setState({value: text});} handleSubmit = (e) => {e.preventDefault();seafile.addComment(this.state.value).then((res) => {console.log(res.data.success);})}render() {<form><input type="text" value={this.state.value} onChange={this.handleChange}/><button onClick={this.hanldeSubmit}>Submit</button></form>}
}

使用受控组件可以过滤用户输入,在handlechange 函数中,设置正则表达式或者简单的trim函数可以过滤部分输入。

<input type='file' />是非受控组件。将本地的n个文件上传到服务器中。

当界面上有多个input时,可以只写一个函数,handleinputChange 处理所有的input输入。通过 event.target.type 或者 event.target.name 进行选择,判断是哪个组件发生输入并进行不同的界面操作。

<input type="textarea" name="comment" onChange="handleInputChange"/>
<input type="checkoutbox" name="comment-number" onChange="handleInputChange"/>
handleInputChange = (e) => {let value = e.target.type === 'textarea' ? e.target.value : e.target.checked;const name = e.target.name;this.setState({//});
}

受控组件使用很多会形成很多的处理函数(2n)根据场合使用受控组件和非受控组件。

React 受控组件相关推荐

  1. [react] 受控组件和非受控组件有什么区别?

    [react] 受控组件和非受控组件有什么区别? 受控组件用value和组件的state绑定,当value更新时,会自动更新state 非受控组件没有value,采用ref直接操作dom 个人简介 我 ...

  2. 什么是React受控组件和非受控组件

    React是一个非常流行的JavaScript库,用于构建Web应用程序.React中有两种类型的组件,受控组件和非受控组件.在本文中,我们将深入研究这两种组件的区别,优缺点以及如何选择适当的组件类型 ...

  3. React 受控组件和非受控组件(总结)

    React 受控组件和非受控组件 文章目录 React 受控组件和非受控组件 受控组件 非受控组件 拓展:什么是***event*.target** 受控组件 在React中,可变的状态通常保存在组件 ...

  4. react受控组件与非受控组件

    react受控组件与非受控组件区别在于: 受控组件中输入框的值由其change事件接管,做对应的数据劫持操作,例如可以对输入框的值进行合法输入校验(匹配正则),此时表单数据由 React 组件来管理( ...

  5. react受控组件和非受控组件区别

    一.受控组件 在HTML中,表单元素的标签..等的值改变通常是根据用户输入进行更新. 在React中,可变状态通常保存在组件的状态属性中,并且只能使用 setState() 进行更新,而呈现表单的Re ...

  6. 4.react受控组件与非受控组件

    一.非受控组件 表单中输入类DOM的值现用现取 <script type="text/babel">//创建组件class Login extends React.Co ...

  7. React受控组件和非受控组件的区别

    1,受控组件: 在React中默认可以完成从state到表单value的动态绑定. 给input提供onchange事件,一旦检测到文本框内容有变化,马上执行onchange事件获取表单的内容. 2, ...

  8. React受控组件非受控组件

    受控组件:广义上的说法是 react组件的数据渲染是被调用者传递的props完全控制 受控组件:statec成为唯一的数据源,不接受ref读取值 //非受控组件 不利于组件通信 局限性 export ...

  9. React - 受控组件与非受控组件(实践妙用-模糊查询)

    文章目录 前言 表单中的非受控组件 受控组件 受控组件实践妙用(真实请求Ajax - 模糊查询) 广义上的受控组件 父传子与子传父之间的通信 前言 受控组件有俩种不同的定义: 狭义上我们关注于表单的受 ...

最新文章

  1. 20行Python代码实现视频字符化
  2. R语言构建xgboost模型:使用xgboost模型训练tweedie回归模型,特征工程(dataframe转化到data.table、独热编码、缺失值删除、DMatrix结构生成)
  3. 谷歌 AI 中国中心成立,人工智能势不可挡?
  4. win7xp双系统引导修复工具
  5. Hibernate的常用API
  6. 《VMware vCAT权威指南:成功构建云环境的核心技术和方法》一3.8 多站点考虑因素...
  7. 1.5w字的Rmarkdown入门教程汇总
  8. 【干货】微信小程序如何让view标签中内容居中
  9. 利用 PIL模块实现生成动态验证码
  10. CommonJs、AMD 、CMD 前端开发模块化组合
  11. Win7/10快捷方式恢复小箭头
  12. OpenGrok简单使用
  13. python re库 正则表达式
  14. Java招聘要求摘要
  15. 有缘相聚,因skycc 营销软件
  16. html+CSS让背景图片充满整个屏幕
  17. 易经读书笔记15地山谦
  18. 小tip:IE不支持CSS3多背景的替代解决方案
  19. 爱好-文化-冢-象冢:《最后一头战象》沈石溪
  20. 转:S3C2440上LCD驱动(FrameBuffer)实例开发详解

热门文章

  1. 广告电商你知道多少?
  2. 在Photoshop中创建碳纤维图案
  3. 【Netcore】This can either be due to a cycle or if the object depth is larger than the maximum allowed
  4. “神奇”的美林时钟,告诉你如何调整资产配置
  5. jsp星星艺术家插画管理系统
  6. aspera在mac和win下的使用命令整理
  7. tanh和atanh--双曲正切和反双曲正切函数
  8. c语言之判断电压最大值最小值,《单片机和C语言编程》..ppt
  9. c语言二级 试题答案,计算机二级c语言考试习题及答案
  10. 夺命雷公狗jquery---44替换