受控组件:广义上的说法是 react组件的数据渲染是被调用者传递的props完全控制

受控组件:statec成为唯一的数据源,不接受ref读取值

//非受控组件 不利于组件通信 局限性
export default class App extends Component {myref = React.createRefrender(){return(<div><input type="text" ref={myref} defaultValue='aaa'/> //这里必须用defaultValue否则input无法输入<button onClick={()=>{console.log(this.myref.current.value)}}>get</button><button onClick={()=>{this.myref.current.value = ''}}>reset</button></div>)}
}
//受控组件
export default class App extends Component {state ={msg='aaa'}render(){return(<div><input type="text" value={this.state.msg} onChange={(event)=>{console.log(event.target.value)this.setState({msg:event.target.value})//将值赋予给状态 保证受控 值发生改变时 会触发render}}/> <button onClick={()=>{console.log(this.state.msg)}}>get</button><button onClick={()=>{this.setState({msg:''})}}>reset</button></div>)}
}
<Child mymsg={this.state.msg} /> //将值传给子组件

受控组件filter

export default class App extends Component{state={mytext:'',list:[{id:1,name:'我'},{id:2,name:'你'},{id:3,name:'他'}]}render(){return(<div><input value={this.state.mytext} onChange={(event)=>{this.setState({mytext:event.target.value //将值赋给状态 从而引发render改变input显示内容})}}/>{this.getList().map(i=>{<ul key={i.id}><li>{i.name}</li></ul>})}</div>)}getList(){return this.state.list.filter(i=>{i.name.toUpperCase().includes(this.state.mytext.toUpperCase())})}
}

React受控组件非受控组件相关推荐

  1. react梳理之(非)受控组件

    react开始梳理,不会从最基本的创建一个react项目开始,只是梳理一些概念,今天简单梳理一个较为简单的概念,就是受控组件与非受控组件 一.react的非受控组件 1.什么叫非受控组件 我们从两个字 ...

  2. 重新认识受控和非受控组件

    该文章包含如下内容 受控与非受控组件非受控组件受控组件 受控和非受控组件边界 反模式 解决方案 前言 在 HTML 中,表单元素(<input>/<textarea>/< ...

  3. 查找DOM,受控与非受控组件

    1.查找dom节点 常用的方法有两种: 第一种常用的方法 1.在constructor中创建ref对象:this.变量 = React.createRef() 2.在标签中使用ref属性绑定创建的re ...

  4. [react] 如何给非控组件设置默认的值?

    [react] 如何给非控组件设置默认的值? 表单元素依赖于状态(state),表单元素需要默认值实时映射到状态的时候,就是受控组件 <input name="username&quo ...

  5. 我们应该如何优雅的处理 React 中受控与非受控

    受控 & 非受控 今天来和大家简单聊聊 React 中的受控和非受控的概念. 提到受控和非受控相信对于使用过 React 的朋友已经老生常谈了,在开始正题之前惯例先和大家聊一些关于受控 &am ...

  6. React学习笔记八-受控与非受控组件

    此文章是本人在学习React的时候,写下的学习笔记,在此纪录和分享.此为第八篇,主要介绍非受控组件与受控组件. 目录 1.非受控组件 1.1表单提交案例 1.2案例的总结 2.受控组件 2.1受控组件 ...

  7. React表单 (受控组件,非受控组件)

    react中的表单不同于基本的dom操作 他主要可分为 受控组件和非受控组件 这里我们先创建一个react项目 这里我们就直接将代码写在App.jsx里了 App.jsx参考代码如下 import ' ...

  8. 10 非受控组件以及受控与非受控的选择方案

    含义 非受控组件:表单数据不受控与state的(未绑定value),使用React ref从DOM节点中获取表单数据的组件 提示refs弃用 class MyForm extends React.Co ...

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

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

最新文章

  1. phonegap工程中修改app的名字
  2. Linux Kernel Development——列出系统中所有的进程
  3. 高性能网站建设之 MS Sql Server数据库分区
  4. mysql查看是否开启定时器_Mysql 查看定时器 打开定时器 设置定时器时间
  5. 工作这几年所获、所感、所悟
  6. To B生意的私域流量,你应该知道的10件事儿
  7. 设计模式之开放封闭原则
  8. c++ sleep函数_Linux 多线程应用中如何编写安全的信号处理函数
  9. 命令行方式使用FTP
  10. 自定义头文件之二------hlib.h(慢慢更新)
  11. win7 64位Apache http server+PHP配置
  12. 【UML】UML基础教程(总三篇文章)
  13. 微信小游戏 H5 排行榜源码
  14. 利用Photoshop制作二寸照片
  15. 发送报警信息到微信公众号
  16. billu_b0x靶场通关
  17. 使用 Amazon Amplify快速创建简单的 Android 应用程序
  18. 深度学习笔记之稀疏自编码器
  19. 选择排序总结以及排序算法的稳定性
  20. 苹果推出iOS15.2正式版,“数字遗产”计划正式上线,你的“继承人”是谁?

热门文章

  1. 200行代码如何实现人脸识别开锁应用?
  2. Office 2003安装时自动输入序列号
  3. sony e系列笔记本的OFFICE的序列号
  4. C语言的格式输出 C语言中字符的作用:
  5. 生成四位和六位随机数工具类
  6. Windbg分析dump崩溃
  7. STM32中的独立看门狗和窗口看门狗
  8. 数据结构与算法分析1.2 Python采用栈的回溯解决四色问题
  9. 01-AI矢量图和位图
  10. win64使用openssl生成ca证书