精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

面試官:說說對React refs 的理解?應用場景?

開發(fā) 前端
React 中的 Refs提供了一種方式,允許我們訪問 DOM節(jié)點或在 render方法中創(chuàng)建的 React元素

[[409689]]

本文轉載自微信公眾號「JS每日一題」,作者灰灰。轉載本文請聯(lián)系JS每日一題公眾號。

一、Refs 是什么

Refs 在計算機中稱為彈性文件系統(tǒng)(英語:Resilient File System,簡稱ReFS)

React 中的 Refs提供了一種方式,允許我們訪問 DOM節(jié)點或在 render方法中創(chuàng)建的 React元素

本質(zhì)為ReactDOM.render()返回的組件實例,如果是渲染組件則返回的是組件實例,如果渲染dom則返回的是具體的dom節(jié)點

二、如何使用

創(chuàng)建ref的形式有三種:

  • 傳入字符串,使用時通過 this.refs.傳入的字符串的格式獲取對應的元素
  • 傳入對象,對象是通過 React.createRef() 方式創(chuàng)建出來,使用時獲取到創(chuàng)建的對象中存在 current 屬性就是對應的元素
  • 傳入函數(shù),該函數(shù)會在 DOM 被掛載時進行回調(diào),這個函數(shù)會傳入一個 元素對象,可以自己保存,使用時,直接拿到之前保存的元素對象即可
  • 傳入hook,hook是通過 useRef() 方式創(chuàng)建,使用時通過生成hook對象的 current 屬性就是對應的元素

傳入字符串

只需要在對應元素或組件中ref屬性

  1. class MyComponent extends React.Component { 
  2.   constructor(props) { 
  3.     super(props); 
  4.     this.myRef = React.createRef(); 
  5.   } 
  6.   render() { 
  7.     return <div ref={this.myRef} />; 
  8.   } 

訪問當前節(jié)點的方式如下:

  1. this.refs.myref.innerHTML = "hello"

傳入對象

refs通過React.createRef()創(chuàng)建,然后將ref屬性添加到React元素中,如下:

  1. class MyComponent extends React.Component { 
  2.   constructor(props) { 
  3.     super(props); 
  4.     this.myRef = React.createRef(); 
  5.   } 
  6.   render() { 
  7.     return <div ref={this.myRef} />; 
  8.   } 

當 ref 被傳遞給 render 中的元素時,對該節(jié)點的引用可以在 ref 的 current 屬性中訪問

  1. const node = this.myRef.current

傳入函數(shù)

當ref傳入為一個函數(shù)的時候,在渲染過程中,回調(diào)函數(shù)參數(shù)會傳入一個元素對象,然后通過實例將對象進行保存

  1. class MyComponent extends React.Component { 
  2.   constructor(props) { 
  3.     super(props); 
  4.     this.myRef = React.createRef(); 
  5.   } 
  6.   render() { 
  7.     return <div ref={element => this.myref = element} />; 
  8.   } 

獲取ref對象只需要通過先前存儲的對象即可

  1. const node = this.myref  

傳入hook

通過useRef創(chuàng)建一個ref,整體使用方式與React.createRef一致

  1. function App(props) { 
  2.   const myref = useRef() 
  3.   return ( 
  4.     <> 
  5.       <div ref={myref}></div> 
  6.     </> 
  7.   ) 

獲取ref屬性也是通過hook對象的current屬性

  1. const node = myref.current

上述三種情況都是ref屬性用于原生HTML元素上,如果ref設置的組件為一個類組件的時候,ref對象接收到的是組件的掛載實例

注意的是,不能在函數(shù)組件上使用ref屬性,因為他們并沒有實例

三、應用場景

在某些情況下,我們會通過使用refs來更新組件,但這種方式并不推薦,更多情況我們是通過props與state的方式進行去重新渲染子元素

過多使用refs,會使組件的實例或者是DOM結構暴露,違反組件封裝的原則

例如,避免在 Dialog 組件里暴露 open() 和 close() 方法,最好傳遞 isOpen 屬性

但下面的場景使用refs非常有用:

  • 對Dom元素的焦點控制、內(nèi)容選擇、控制
  • 對Dom元素的內(nèi)容設置及媒體播放
  • 對Dom元素的操作和對組件實例的操作
  • 集成第三方 DOM 庫

參考文獻

https://zh-hans.reactjs.org/docs/refs-and-the-dom.html

https://segmentfault.com/a/1190000020842342

https://vue3js.cn/interview

 

責任編輯:武曉燕 來源: JS每日一題
相關推薦

2021-05-31 10:35:34

TCPWebSocket協(xié)議

2021-07-12 08:35:24

組件應用場景

2021-06-08 08:33:23

NodeStream數(shù)據(jù)

2021-06-07 09:41:48

NodeBuffer 網(wǎng)絡協(xié)議

2021-06-30 07:19:36

React事件機制

2021-09-16 07:52:18

算法應用場景

2021-11-05 07:47:56

代理模式對象

2021-11-09 08:51:13

模式命令面試

2021-11-10 07:47:49

組合模式場景

2021-11-04 06:58:32

策略模式面試

2021-08-16 08:33:26

git

2021-11-03 14:10:28

工廠模式場景

2021-07-13 07:52:03

ReactHooks組件

2021-09-28 07:12:09

測試路徑

2021-11-11 16:37:05

模板模式方法

2021-09-06 10:51:27

TypeScriptJavaScript

2021-11-22 23:50:59

責任鏈模式場景

2021-09-29 07:24:20

場景數(shù)據(jù)

2021-07-29 07:55:20

React Fiber架構引擎

2021-10-13 18:01:33

快速排序場景
點贊
收藏

51CTO技術棧公眾號

高清久久一区| 日本亚洲精品| 免费观看久久久4p| 久久中文精品视频| 一本色道综合久久欧美日韩精品| 亚洲第一影院| 亚洲嫩草精品久久| 久久99久久精品国产| 中文字幕一级片| 亚洲天堂成人| 最近2019中文字幕第三页视频| 黑人巨大猛交丰满少妇| 欧洲一区精品| 国产精品国产三级国产普通话蜜臀| caoporen国产精品| 日本成人一级片| 伊人精品成人久久综合软件| 国产一区二区三区视频| 中文字幕视频观看| 男女啪啪999亚洲精品| 亚洲.国产.中文慕字在线| 亚洲视频电影| 色鬼7777久久| 成人午夜免费视频| 国产日韩欧美视频| 日韩美一区二区| 国产主播精品| 久久影视免费观看 | 精品无码m3u8在线观看| 精品国产日韩欧美| 国产视频精品va久久久久久| 人妻换人妻仑乱| 国产欧美在线观看免费| 欧美性色视频在线| 国产一二三在线视频| 毛片在线视频| 欧美国产精品专区| 欧美国产一二三区| 亚洲色图 校园春色| 国产成人亚洲精品狼色在线| 国产中文字幕亚洲| 中文字幕日本人妻久久久免费 | 2019亚洲男人天堂| 久久久久久激情| 欧美黄色aaaa| 久久精品视频一| 91精品少妇一区二区三区蜜桃臀| 国内精品久久久久久久影视简单 | 91精品国产福利在线观看| 另类小说第一页| 日本在线视频一区二区| 日韩欧美在线看| 青青草原av在线播放| 亚洲天堂资源| 91国偷自产一区二区三区观看| 日韩黄色片视频| segui88久久综合9999| 亚洲国产一区二区三区青草影视| 精品无码av无码免费专区| gogo在线高清视频| 夜夜精品视频一区二区| 日韩欧美不卡在线| 中文字幕人成乱码在线观看| 日韩欧美亚洲成人| 国产野外作爱视频播放| 日本美女久久| 宅男噜噜噜66一区二区66| 一二三级黄色片| 免费一区二区三区在线视频| 日韩三级中文字幕| 精品人妻伦一二三区久| 日韩精选在线| 自拍偷拍免费精品| 亚洲一二三在线观看| 亚州av乱码久久精品蜜桃| 欧美成人亚洲成人| 日本亚洲欧美在线| 久久久水蜜桃av免费网站| 欧美一级片一区| 伊人免费在线观看高清版| 精品在线免费视频| 国产高清不卡av| 青青草手机在线| 国产精品美女久久久久久久久久久 | 在线观看欧美理论a影院| 亚洲偷欧美偷国内偷| 黄色精品视频在线观看| 亚洲激情亚洲| 国产精品偷伦一区二区| 精品久久久无码中文字幕| 99国产精品久| 亚洲国产一区二区精品视频| aa在线视频| 欧美性xxxxxx| 黄色a级三级三级三级| 全球av集中精品导航福利| 中文字幕免费精品一区高清| 免费在线观看黄视频| 久久综合激情| 国产高清自拍一区| 东凛在线观看| 亚洲成av人片| 福利视频999| 亚洲精华一区二区三区| 久久成人这里只有精品| 亚洲s码欧洲m码国产av| 国产宾馆实践打屁股91| 日韩wuma| 青青青免费在线视频| 这里只有精品电影| 亚洲人成人无码网www国产| 欧美国内亚洲| 国产在线播放不卡| 国产中文在线视频| 亚洲国产一区二区三区| 亚洲综合20p| 国产一区二区三区91| 欧美成人精品在线| 中文字幕人成人乱码亚洲电影| 92国产精品观看| 8x8x华人在线| 色999韩欧美国产综合俺来也| 日韩激情av在线播放| 免费人成视频在线| 韩国一区二区在线观看| 日韩av电影免费在线| 美女扒开腿让男人桶爽久久软| 日韩午夜电影av| 日本少妇aaa| 秋霞午夜鲁丝一区二区老狼| 欧美精品一区在线| 欧美办公室脚交xxxx| 亚洲精品一区二区三区在线观看 | 九九热视频在线观看| 亚洲h在线观看| 欧美成人精品一区二区综合免费| 久久视频国产| 国产精品稀缺呦系列在线| 精品视频一二区| 福利二区91精品bt7086| 日本69式三人交| 激情视频一区| 国产精品有限公司| 美女av在线免费看| 国产丝袜一区二区三区| 久草手机在线视频| 久久嫩草精品久久久精品一| 亚洲乱码中文字幕久久孕妇黑人| 亚洲精品无吗| 清纯唯美日韩制服另类| 牛牛热在线视频| 欧美日韩国产一区中文午夜| 中文文字幕文字幕高清| 亚洲专区免费| 欧美人xxxxx| 欧美色网一区| 中文字幕精品av| 91激情在线观看| 亚洲人成精品久久久久| 三级黄色片免费看| 伊人成人在线视频| 免费中文日韩| 精品日本视频| 操91在线视频| 手机在线精品视频| 色综合欧美在线| 欧美精品日韩在线| 国产自产视频一区二区三区| 天天综合五月天| 91成人午夜| 5252色成人免费视频| 国产高清av在线| 欧美精品xxxxbbbb| 国产第100页| 久久综合999| 一路向西2在线观看| 国产精品久久久久久麻豆一区软件| 成人乱人伦精品视频在线观看| 免费网站在线观看人| 亚洲九九九在线观看| 中文在线观看av| 一区二区三区资源| 久久精品国产亚洲av麻豆| 久久精品国产免费看久久精品| 男人的天堂视频在线| 啄木系列成人av电影| 国产在线视频欧美| 成人一级福利| 国产精品一区二区男女羞羞无遮挡 | 久久久久久久久久久99| 亚洲传媒在线| 国产乱肥老妇国产一区二| 国产激情在线| 亚洲精品久久久久| 国产一区二区波多野结衣| 一区二区欧美国产| 极品人妻videosss人妻| 国产精品影音先锋| 欧美精品一区二区三区免费播放| 日韩精品水蜜桃| 国产精品免费一区二区| 丁香婷婷久久| 亚州精品天堂中文字幕| 在线看黄色av| 亚洲黄色在线看| 国产精品色综合| 日韩欧美亚洲国产一区| 2021亚洲天堂| 国产精品入口麻豆九色| 一区二区免费在线观看视频| 久久精品国内一区二区三区| 欧美成人高潮一二区在线看| 国产高清一区| 任我爽在线视频精品一| y111111国产精品久久久| 国产精品aaaa| 国内激情视频在线观看| 美女视频久久黄| av大片在线观看| 亚洲精品中文字| 免费观看毛片网站| 日韩欧美在线不卡| 国产精品高潮呻吟AV无码| 色菇凉天天综合网| 精品国产乱码一区二区| 亚洲一区二区三区四区五区黄| 老司机精品免费视频| 久久一区二区三区国产精品| 中文字幕99页| 国产精品77777| 国产性生活一级片| 免费高清在线视频一区·| 91免费视频网站在线观看| 很黄很黄激情成人| 国产精品igao激情视频| 亚洲国产一成人久久精品| 亚洲一区bb| 成人精品电影| 亚洲成人精品电影在线观看| 婷婷综合一区| 欧美精品国产精品久久久| 日韩美脚连裤袜丝袜在线| 精品国产免费久久久久久尖叫| 亚洲一二av| 97av影视网在线观看| 精品一区二区三区视频在线播放 | 18国产精品| 成人自拍视频网站| 国产精品一区二区中文字幕| 高清一区二区三区视频| jazzjazz国产精品麻豆| 国产精品一区二区欧美黑人喷潮水| 色播一区二区| 成人自拍偷拍| 日韩精品导航| 日本一区二区三区精品视频| 精品久久中文| 亚洲免费不卡| 在线免费观看日本欧美爱情大片| 黄色网zhan| 在线精品亚洲| 欧美在线观看成人| 久久综合网络一区二区| 午夜精品在线免费观看| 久久精品国产亚洲高清剧情介绍| 国内av一区二区| 成人午夜短视频| 亚洲AV无码国产精品| 久久亚洲春色中文字幕久久久| 国产福利短视频| 欧美激情一区二区在线| 欧美性x x x| 亚洲影院久久精品| 国产69精品久久久久久久久久| 日韩欧美在线视频日韩欧美在线视频 | 亚洲色诱最新| 污污的网站18| 国产美女av一区二区三区| 波多野结衣一二三区| 久久亚洲二区三区| 99久久99久久精品国产| 亚洲丶国产丶欧美一区二区三区| 丰满少妇xoxoxo视频| 欧美日韩综合不卡| 亚洲xxxx天美| 亚洲色图日韩av| 国产激情视频在线| 欧美亚洲在线观看| 欧洲美女精品免费观看视频| 51精品国产人成在线观看| 日本成人a网站| 亚洲欧洲中文| av不卡在线| www午夜视频| gogo大胆日本视频一区| 中文字幕黄色网址| 午夜激情综合网| 一区二区视频免费| 日韩av在线导航| 免费大片在线观看www| 国产91|九色| 欧美特黄不卡| 午夜精品区一区二区三| 欧美三级在线| 国产无遮挡猛进猛出免费软件 | 国产一区二区三区四区在线| 一区二区视频在线看| 最新国产中文字幕| 亚洲国产小视频在线观看| 免费av在线网址| 日韩av手机在线观看| 2021年精品国产福利在线| 亚洲三区在线| 日韩激情视频网站| www.自拍偷拍| 亚洲成人免费视| 国产激情久久久久久熟女老人av| 亚洲欧美日韩中文视频| 欧美人动性xxxxz0oz| 成人中文字幕+乱码+中文字幕| 国产欧美日韩在线一区二区| 欧美午夜性视频| 国产精品一区久久久久| 一本一本久久a久久| 一本到三区不卡视频| 色偷偷在线观看| 欧美大片免费看 | 国产尤物91| 激情综合网址| 中文字幕亚洲日本| 亚洲黄色录像片| 国产日韩免费视频| 久久国产精品亚洲| 精品国产亚洲一区二区三区在线| 天天久久人人| 人人爽香蕉精品| 少妇一级黄色片| 欧美日韩综合色| 成人av毛片| 国产精品自产拍高潮在线观看| 国产传媒欧美日韩成人精品大片| 国产日韩一区二区在线观看| 97国产精品videossex| 欧美一区二区三区四| 日韩av在线天堂网| 中文在线资源| 日韩欧美亚洲在线| 蜜臀av一区二区在线免费观看| av女人的天堂| 欧美午夜理伦三级在线观看| h视频网站在线观看| 国产日韩欧美自拍| 综合亚洲视频| 又色又爽又黄18网站| 香蕉影视欧美成人| 久草在现在线| 国产欧美亚洲精品| 亚洲九九视频| 欧美午夜精品一区二区| 天天av天天翘天天综合网色鬼国产 | 日韩精品99| 四虎影视永久免费在线观看一区二区三区| 视频一区中文字幕国产| 成年人看的免费视频| 欧美精选在线播放| 羞羞的网站在线观看| 黑人中文字幕一区二区三区| 久久国产精品久久w女人spa| 国产18无套直看片| 日韩午夜在线观看| 一区一区三区| 亚洲一区二区在线免费观看| 国产成人精品一区二区三区网站观看 | 欧美一站二站| 亚洲综合123| 精品女同一区二区三区在线播放| 亚洲色偷精品一区二区三区| 国产精品第1页| 欧美/亚洲一区| 少妇户外露出[11p]| 精品婷婷伊人一区三区三| а√天堂在线官网| 美女一区视频| 韩国三级电影一区二区| 国产大片中文字幕| 中文字幕av一区二区三区谷原希美| 久久久国产精品入口麻豆 | 韩国理伦片一区二区三区在线播放| 黄色在线观看免费| 亚洲人成网站999久久久综合| 色综合一区二区日本韩国亚洲| www.国产在线播放| 亚洲国产精品av| 蜜桃视频污在线观看| 国产精品视频一区二区高潮| 精品二区久久| 亚洲色图日韩精品| 亚洲精品国产美女| 日韩精品视频中文字幕| 99久久国产宗和精品1上映|