范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

2022年前端React的100道面试题的第17题Ref的使用

  问题
  React17 中对 Ref 的正确使用方式有哪些?
  选项
  A. React 会在组件挂载时给  current   属性传入 DOM 元素,并在组件卸载时传入  null   值。
  B. 此版本仅支持 React.createRef() 和回调函数两种获取 ref 对象方式。
  C.  ref   会在  componentDidMount   或  componentDidUpdate   生命周期钩子触发前更新。
  D. 自定义组件支持通过传参 ref 属性绑定 Ref 对象。
  答案
  A、C
  纠错
  B. 此版本常用的 Refs 创建的方式有 React.createRef() 、回调函数 、useRef(),且还有其他方式。
  D. 自定义组件支持通过传参 ref 属性至 class 组件绑定 Ref 对象,而函数组件需要使用 React.forwardRef() 方式。
  解答
  典型的 React 数据流中,props 是父组件与子组件交互的方式。而 React 提供了一种 Refs 方式,允许我们访问 React 子组件的实例,或者 DOM 元素。 class MyComponent extends React.Component {   myRef = React.createRef();   render() {     return ;   } }
  使用 Refs 的时机 管理焦点,文本选择或媒体播放。 触发强制动画。 集成第三方 DOM 库。
  反面使用方式:避免使用 refs 来做任何可以通过声明式实现来完成的事情。举个例子,避免在  Dialog   组件里暴露  open()   和  close()   方法,最好传递  isOpen   属性。
  绑定 Ref 的方式 创建 React.createRef() 对象,绑定到 React 元素上。 通过回调 Refs 方式,在完成渲染后获取目标 DOM。 在函数组件中使用 useRef() 方法,创建 ref 对象后传入元素。 在 class 组件中给 React 元素的 ref 属性传入字符串值,通过 this.refs[name] 获取 DOM 元素。
  注意:上面的所有方式,如果是给组件传 ref 属性,则需要对此组件进行 Refs 转发至具体的 HTML 元素。
  回调 Refs 用于组件时
  因常规函数和 class 组件不接收  ref   参数,且 props 中也不存在  ref  。因此回调 Refs 仅用于 HTML DOM 元素,如果给组件传函数 Refs 应通过 props 透传。
  例如下面的方式: function CustomTextInput(props) {   return (                    ); }  class Parent extends React.Component {   render() {     return (        this.inputElement = el}       />     );   } }
  回调 Refs 的参数
  回调函数方式的执行时机为: 如果组件发生更新渲染前,会先清空旧的 ref 此时回调函数的参数为 null; 组件渲染后执行回调函数,此时传入参数为 DOM 元素;
  资料
  https://zh-hans.reactjs.org/docs/forwarding-refs.html
  https://zh-hans.reactjs.org/docs/refs-and-the-dom.html
  来源
  搜索《考试竞技》微信小程序

京东物流小哥寻鲜寄第二季启动,一起寻鲜浙江六大农特产业带吧钱江晚报小时新闻记者卢瑶瑶浦江葡萄江山猕猴桃舟山海鲜台州青蟹象山红美人涌泉蜜桔,这些诱人的浙江农产品即将在下半年陆续上市,想要第一时间尝鲜吗?来小时新闻,我们带你一起寻鲜!近日,京AI要有心了在电影宇宙里人工智能发展到达了一个又一个巅峰智械危机天网终结者影响甚至控制人类生活现实生活中人工智能便利着我们的生活但是距离影视作品中人工智能达到让人人机难辨的程度人工智能拥有人的如果神级文明存在,神级文明不向地球人类开放宇宙空间的原因是什么?我认为,神级文明不向地球人开放宇宙空间的原因主要有以下两点第一,人类发展水平非常落后,且经常爆发战争。从客观的角度来看,人类特别喜欢发动战争。如果神级文明向人类开放宇宙空间,人类的蔚来理想破纪录,比亚迪卖出5万,自主品牌彻底弯道超车?7月底,特斯拉Model3再一次降价,标续后驱版车型售价下调1。5万,调整至23。59万。特斯拉官方表示价格的调整是成本波动导致的,但今年5月,Model3标续后驱版车型售价曾上调德国时尚服饰品牌PhilippPlein接受比特币等15种加密货币支付近期不少知名的时尚品牌宣布将跨足区块链产业,像是LVBurberry以及DolceGabbana都推出了属于自己品牌的NFT。德国知名服饰品牌PhilippPlein也接续着风潮,国产手机谁家质量最好?谁是最良心的品牌?其实这个问题在几年前应该是不好回答的,但是对于我国通讯科技技术发展从诺基亚时代至今已发展更新了十几年,技术已经进入超熟期,目前能在市场上存活下来并且能存活的很好的品牌就可以证明。现比亚迪新能源车销量大增插混车型占比超40大家好!今天选车网为您带来比亚迪的最新消息,请点击关注选车网,第一时间了解最新的汽车资讯。随着8月的到来,近日各大车企都公布了上月的销售数据,而整个7月比亚迪的销售数据也十分亮眼,奇鲁新能源ec1下线开启品牌发展新征程大河报豫视频记者解元利8月6日,奇开得胜,潮行未来奇鲁新能源新品下线仪式在位于山东齐河的奇鲁新能源智慧工厂正式举办。奇鲁新能源ec1的正式下线标志着奇鲁新能源正式吹响了进军中国新能大数据flink系列flink介绍入门01最近在学习flink相关的知识,数据加智能持续看好,也是接下来自己的重点。开始记录自己的学习过程,希望可以坚持下来。言归正传,本篇内容主要讲三块,一块是flink是什么,第二块是f新能源投资方向储能技术前几天,我突然在想,电厂发出来电除了被大众日常消耗掉的剩下的电会怎么处置的。是不被浪费了,还是被储存起来?带到这个问题我网上一动操作后发现了储能行业。所以在研究的深入,感觉自己发现新能源汽车未来的投资机会在哪里?有人说,如果去年年初你把买特斯拉Model3的钱买特斯拉的股票,你绝对可以换一辆ModelX?如果去年年初把买蔚来汽车的钱买蔚来汽车的股票,你也许可以买一辆兰博基尼或者法拉利的入门
iPhone13苹果新机号召力依旧,真的有那么香吗?欧界报道2021年第二季度,在全球中高端智能手机销量排行中,苹果以57的市场份额独占鳌头,遥遥领先第二名17份额的三星华为小米等国内一线手机厂商。前几日上线的苹果新品iPhone1花呗升级全面接入征信,套现加快入刑花呗等互联网金融产品为消费者提供便利的同时,也成为套现中介眼中的一块肉。花呗易主,服务升级。一方面,自六月份以来蚂蚁消费金融开始介入花呗服务,正式进入花呗合作金融机构名单。另一方面顺丰同城急送将与鸿星尔克合作9月18日消息,日前,据顺丰同城急送官方微博信息,顺丰同城急送将与国潮品牌鸿星尔克合作。据了解,顺丰同城急送是顺丰同城在2019年发布的新品牌。今年3月,中国物流与采购发布了202一元签收确认,顺丰试错了近日,顺丰因为加收1元钱签收确认上了微博热搜,还被浙江省消保委质疑涉嫌巧立名目收费,侵害消费者合法权益。快递暂行条例规定,经营快递业务的企业应当将快件投递到约定的收件地址收件人或者美团众包如何设置自动接单美团众包做为一款自由接单的软件给送外卖和点外卖的人员都带来方便。但是由于很多新骑手不会设置导致派送的单接了要么送到超时,要么就拒单,拒单上限还有惩罚,所以现在教大家如何设置。首先你买新能源车,不能只关注续航里程买新能源车,不能只关注续航里程买新能源车,不能只关注续航里程,还要关注充电时间。因为目前很多不同品牌新能源车,续航里程相同,但充电时间是不同的。那么,充电时间不同,会有什么影响么?5G基站遍布,覆盖范围越来越广,5G你开始用了吗?5G手机,我相信每一个人都不陌生,作为第五代通信系统的智能手机。相对4G手机,5G手机有更快的传输速度,低时延,通过网络切片技术,拥有更精准的定位。资料显示移动通信延续着每十年一代Google更新iOS15客户端音乐相册迎来加大号小部件随着iOS15与iPadOS15的正式到来,Google也向AppStore同步推送了软件更新,其中包括新的加大号(XL)小部件专注模式以及Spotlight支持。在主屏上,谷歌相中秋大战,数码厂商中秋内卷,华米OV,谁才是最后赢家?很快就是中秋节了,中秋节的习俗相信大家都知道,那就是恰月饼。每年中秋节就是各家大厂的送中秋礼盒的时候,每年数码大厂的中秋礼盒都会引起网上的热烈讨论,今年也不例外。下面就来看一看华为你看我的物理外挂又大又圆,微星月神MPG343CQR显示器测评写在前面最近不是马上Ti了嘛,假刀斯林也是重新拾起了两年没玩的号,和几个固友一起开黑。不过同样是小两年没玩,有个打三号位的老铁竟然在意识和大局观上突飞猛进,不禁让小伙伴们怀疑他是不这两款拍照好的旗舰手机,你们更喜欢哪一款?Magic3Pro很多人都很困惑于iPhone的手感,相比之下荣耀Magic3Pro便成为了焦点,在外观上它选择了6。76英寸的曲面OLED屏幕。并且针对之前的产品这一次它将屏占比