一、Refs的作用

通过Refs,可以访问到

1. DOM节点。

2. render方法中创建的React元素。(class组件的实例)

二、访问节点或者实例有什么用?为什么要使用Refs来访问?

访问节点或者实例的需求场景:

  • 管理焦点,文本选择或媒体播放。
  • 触发强制动画。
  • 集成第三方 DOM 库

因为有些场景,在React中,不使用Refs就无法解决。

三、零碎知识点

1. class组件

Refs可以在DOM元素或者class组件上使用。

2. function组件

Refs不可以function组件上使用。(因为function组件没有实例)

function组件上无法使用,但是function组件内的DOM和class组件可以使用。

通过forwardRef,可以将ref转发给function组件内的DOM元素或者class组件。

通过useImperativeHandle可以使function组件的父组件 获得 该function组件的子组件中的DOM元素或者class组件的操作方法

参考资料:

[1] Refs and the DOM.https://reactjs.bootcss.com/docs/refs-and-the-dom.html

[2] Refs转发.https://reactjs.bootcss.com/docs/forwarding-refs.html

[3] useImperativeHandle.https://reactjs.bootcss.com/docs/hooks-reference.html#useimperativehandle

最新文章

  1. DSY1531*Bank notes
  2. CentOS6.5安装Eclipse
  3. float:left居中对齐
  4. H - Frequent values
  5. MySQL5.7.9免安装版配置方法
  6. shell中的type命令
  7. Qt5该插件机制(4)--QtMeta信息窗口小部件metaData
  8. Linux内核学习趣谈
  9. iOSstoryboard xib下label怎么自适应宽度高度
  10. TP手册学习第四内置天
  11. java基础之修饰符和内部类
  12. 我眼中的Adaboost
  13. postgres跨平台开发坑之空值
  14. C#中枚举的使用
  15. (转)scikit-learn主要模块和基本使用方法
  16. mach_absolute_time 使用
  17. Mac & how to uninstall LANDesk
  18. Python之两个列表一起打乱
  19. opencv画图
  20. 水管工游戏:dfs(递归)

热门文章

  1. 接入监控视频,为啥还需要对接厂商的SDK呢,不是有onvif这样的标准协议吗?
  2. SpringBoot 08: SpringBoot综合使用 MyBatis, Dubbo, Redis
  3. 查看、校验、归档…带你掌握openGauss账本数据库
  4. 2022春每日一题:Day 21
  5. mysql 多个结构不同表查询 返回相同字段名
  6. VS 新版本无法打开旧项目问题处理
  7. java - - spring:定时任务
  8. On Java 8读书笔记
  9. vulnhub靶场之DIGITALWORLD.LOCAL: FALL
  10. day01-家具网购项目说明