ref可以让react方便快捷地拿到DOM元素,ref的用法主要有两种。

用法1:回调形式的ref
在ref中传入一个回调函数,回调函数的默认参数就是元素对象,给组件加一个属性用来存储元素对象。

<div id="app"></div>    <script type="text/babel">class Welcome extends React.Component{get=()=>{console.log(this.c.innerHTML)}render(){return(<div><div ref={a=>this.c=a}>hello</div><button onClick={this.get}>获取DOM元素</button></div>)   }}ReactDOM.render(<Welcome/>,document.getElementById("app"))</script>

方法2:React.createRef

<div id="app"></div>    <script type="text/babel">class Welcome extends React.Component{constructor(){super()this.myRef = React.createRef()}get=()=>{console.log(this.myRef.current.innerHTML)}render(){return(<div><div ref={this.myRef}>hello</div><button onClick={this.get}>获取DOM元素</button></div>)   }}ReactDOM.render(<Welcome/>,document.getElementById("app"))</script>

效果

【React学习】React中ref的用法相关推荐

  1. Vue中ref的用法:获取DOM 父获取子数据 父使用子方法 子调用父方法

    获取本页面dom元素 <template><div id="app"><div ref="testDom">11111< ...

  2. Vue中 $ref 的用法

    ref 被用来给DOM元素或子组件注册引用信息.引用信息会根据父组件的 $refs 对象进行注册.如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实例 注意:只要想 ...

  3. linux ksh教程下载,学习Linux中ksh的用法

    熟悉Linux的朋友肯定都知道bash,它是Linux默认的命令行解释程序,熟悉Solaris的也应该知道csh, 但是csh用起来比较费劲,于是乎产生了Korn Shell (http://www. ...

  4. linux ksh 用户名,学习Linux中ksh的用法

    熟悉Linux的朋友肯定都知道bash,它是Linux默认的命令行解释程序,熟悉Solaris的也应该知道csh, 但是csh用起来比较费劲,于是乎产生了Korn Shell (http://www. ...

  5. Linux中ksh的功能描述,学习Linux中ksh的用法

    熟悉Linux的朋友肯定都知道bash,它是Linux默认的命令行解释程序,熟悉Solaris的也应该知道csh, 但是csh用起来比较费劲,于是乎产生了Korn Shell (http://www. ...

  6. 学习- vue 中 API $attr 用法

    2.4.0新增 定义:包含了父作用域不作为 prop 被识别(且获取)的 attribute 绑定( class 和 style 除外).当一个组件没有声明任何 prop 时,这里会包含所有父作用域的 ...

  7. git提交规范图-提问的智慧图谱-React 学习路线图- 达克效应

    ##git提交规范 git commit的提交规范 ##提问的智慧图谱 好句 <span style="color:yellow"">一个成功的团队要有三种人 ...

  8. React学习:ref调用、组件封装调用-学习笔记

    文章目录 React学习:ref调用.组件封装调用-学习笔记 ref调用-string形式 ref调用-回调形式(官方推荐) ref调用-父调子 组件封装调用demo(全选) demo1(单组件) d ...

  9. react 子组件ref_React中Ref 的使用方法详解

    本文实例讲述了React中Ref 的使用方法.分享给大家供大家参考,具体如下: React中Ref 的使用 React v16.6.3 在典型的React数据流中,props是父组件与其子组件交互的唯 ...

最新文章

  1. linux blkid命令 查看块设备文件系统类型、LABEL、UUID信息 简介
  2. 七、spring生命周期之初始化和销毁方法
  3. c++ 01_02 study note
  4. [Python] L1-053 电子汪-PAT团体程序设计天梯赛GPLT
  5. php语言中不能包含html标签,在邮件主题中包含html标签[PHP]
  6. Vs2012使用strcpy出错之解决方法
  7. 字符流中第一个只出现一次的字符
  8. 父与子python第三版_正版 父与子的编程之旅 与小卡特一起学Python 第3版(全彩印刷) 小学生编程少儿编程真好玩入门教程童趣味亲子互动教孩子学编程书...
  9. 试用D触发器和4选1数据选择器74153设计一个双向4位移位寄存器, 具体要求见下表(A、B为控制端), 左移串行输入信号为L, 右移串行输入信号为R
  10. js读取json文件
  11. 二分类模型(清风建模学习笔记)
  12. win10c盘扩容_Win10磁盘分区工具-无损分区助手
  13. Layui 后台管理模板 【Y-Admin】
  14. php电子病历毕业设计,基于区块链的电子病历系统设计与实现(自制毕设)
  15. Docker容器实现跨宿主机通信
  16. 从服务业开始创业,该怎么起步?
  17. 双非本科小渣渣的字节跳动Android岗面试题分享(已拿offer,分享攒人品~)
  18. 软件开发职业是青春饭
  19. CorelDRAW版本限制使用关闭永久禁止联网登录弹窗口错误修复教程
  20. web html常用标签含义,WEB前端开发之HTML:常用标签知多少

热门文章

  1. 【值转换器】 WPF中Image数据绑定Icon对象
  2. Web项目的Excel文件上传、解析、导入
  3. 华为交换机eth口作用_华为的交换机有什么用
  4. java爬移动端搜索引擎_尝试java开发搜索引擎爬虫
  5. @Inject与@Injectable
  6. 预测分析·民宿价格预测【和鲸社区】
  7. Alfresco 4.0安装手把手教程
  8. android实现热更新
  9. asp.net面试题
  10. Android 渲染机制——SurfaceFlinger