(1)React的ref有3种用法:

  1. 字符串
    dom节点上使用,通过this.refs[refName]来引用真实的dom节点
<input ref="inputRef" /> //this.refs['inputRef']来访问
  1. 回调函数
    React 支持给任意组件添加特殊属性。ref 属性接受一个回调函数,它在组件被加载或卸载时会立即执行。
  • 当给 HTML 元素添加 ref 属性时,ref 回调接收了底层的 DOM 元素作为参数。
  • 当给组件添加 ref 属性时,ref 回调接收当前组件实例作为参数。
  • 当组件卸载的时候,会传入null
  • ref 回调会在componentDidMount 或 componentDidUpdate 这些生命周期回调之前执行。
<input ref={(input) => {this.textInput = input;}} type="text" />   //HTML 元素添加 ref 属性时
<CustomInput ref={(input) => {this.textInput = input;}} />   //组件添加 ref 属性
  1. React.createRef()
    在React 16.3版本后,使用此方法来创建ref。将其赋值给一个变量,通过ref挂载在dom节点或组件上,该ref的current属性
    将能拿到dom节点或组件的实例

<

React中ref的理解相关推荐

  1. React中refs的理解

    React中refs的理解 Refs提供了一种方式,允许我们访问DOM节点或在render方法中创建的React元素. 描述 在典型的React数据流中,props是父组件与子组件交互的唯一方式,要修 ...

  2. React中ref的使用方法

    React中ref的使用方法 在react典型的数据流中, props 传递是父子组件交互的唯一方式:通过传递一个新的 props 值来使子组件重新 re-render ,从而达到父子组件通信.当然, ...

  3. React中JSX的理解

    React中JSX的理解 JSX是快速生成react元素的一种语法,实际是React.createElement(component, props, ...children)的语法糖,同时JSX也是J ...

  4. react中ref、createRef、React.forwardRef分别是什么?如何使用?

    一.react中ref.createRef.React.forwardRef (1)Ref 转发是一项将 ref 自动地通过组件传递到其一子组件的技巧.对于大多数应用中的组件来说,这通常不是必需的.但 ...

  5. react中ref的使用

    在react中获取真实dom的时候就需要用到ref属性,具体使用如下 var MyComponent = React.createClass({handleClick: function() {con ...

  6. react中ref已废弃,请使用React.createRef()

    在项目开发过程中难免会从操作dom,在react中获取dom的方式 (1)ref(已废弃) //绑定ref <input ref="getInput"/> //获取do ...

  7. React中ref的使用方法和使用场景(详解)

    摘要 不管在Vue中还是React,如果我们想使用一个元素的DOM,不需要通过JS中操纵DOM的方法,它们提供了一个专属的API就是ref. 而Vue中的ref可能比较简单,这一篇主要讲一下如何在Re ...

  8. react中ref使用方法解析

    文章目录 什么是ref string类型 createRef创建 写法一: 写法二: 什么是ref 组件不是真实的DOM节点,在react开发中,官方也不建议直接去操作原生的DOM.组件的DOM节点是 ...

  9. 【React学习】React中ref的用法

    ref可以让react方便快捷地拿到DOM元素,ref的用法主要有两种. 用法1:回调形式的ref 在ref中传入一个回调函数,回调函数的默认参数就是元素对象,给组件加一个属性用来存储元素对象. &l ...

最新文章

  1. Java通过JDBC来连接SqlServer数据库
  2. MyBatis MapperScannerConfigurer配置——MyBatis学习笔记之八
  3. springboot中java泛型使用
  4. 如何从零规划一个产品?
  5. 云计算——让学习更轻松
  6. python生成器generator:深度学习读取batch图片
  7. jitter 如何优化网络_抖音优化该怎么做?
  8. IntelliJ IDEA 如何导出安卓(Android)apk文件 详细教程
  9. 一个解决方案创建多个项目问题解决方案
  10. Weblogic配置和部署
  11. UPF和POWER Domain
  12. 皮卡丘为什么不进化_为什么皮卡丘不会变身?原因让人想哭
  13. Python中的Bunch模式
  14. 如何在Android设备上识别读取美国驾照信息
  15. 3D仿真教程:ThingJS全套环境搭建方案
  16. AssertionError: Egg-link *** does not match installed location ***
  17. tcp的finrst flood攻击与防御
  18. ajax调用ashx页面内的方法
  19. linux nfs root无权限,nfs root 无权限_如何允许root用户访问NFS?
  20. howler.js_异步加载音频文件并使用howler.js播放

热门文章

  1. ubuntu14.04显卡驱动问题(amd5600k集显7650d)
  2. javascript公有静态成员
  3. 联发科芯片趋势
  4. C语言编写等腰三角形
  5. G7组合按键进入各种模式方法
  6. 用三层神经网络识别手写数字
  7. 安装并配置maven
  8. ShowDialog 传值
  9. 蓝桥杯算法竞赛备考算法归纳总结
  10. Scala语言完整学习流程