精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲无码精品一区二区三区| 国产精品区在线| 深夜福利在线看| 日韩高清不卡一区| 欧美精品中文字幕一区| 免费成人深夜夜行p站| 成人激情视屏| 红桃视频成人在线观看| 一级做a爰片久久| 午夜福利理论片在线观看| 美国av一区二区| 97精品欧美一区二区三区| xxxxx99| 老司机成人在线| 欧美精品第1页| 免费在线激情视频| 激情图片在线观看高清国产| 国产欧美精品一区| 狠狠色综合一区二区| 国产精品视频一区二区三区,| aa亚洲婷婷| 久久亚洲春色中文字幕| 亚洲第一视频区| 欧美在线导航| 亚洲成人a级网| 天天干天天色天天干| 成人自拍av| 欧美性xxxx18| www.99热这里只有精品| 污片在线免费观看| 国产精品久久久爽爽爽麻豆色哟哟| 久久影院理伦片| 午夜精品无码一区二区三区| 狠狠色伊人亚洲综合成人| 国产成人综合av| 亚洲 欧美 视频| 国产一区亚洲| 欧美大片第1页| www.5588.com毛片| 久久精品青草| 色婷婷av一区二区三区久久| 中字幕一区二区三区乱码| 亚洲日本三级| 精品呦交小u女在线| 性欧美成人播放77777| 露出调教综合另类| 亚洲国产精品字幕| 欧美一区二区免费在线观看| 超碰地址久久| 亚洲国产成人精品女人久久久 | 久一视频在线观看| 欧美黄色一级视频| 欧美精品制服第一页| 欧美日韩在线视频免费| 欧美人成网站| 国产69精品99久久久久久宅男| 九九热只有精品| 亚洲一区二区三区| 欧美黑人一区二区三区| 国产第一页第二页| 国产精品亚洲综合久久| 日韩av理论片| 欧美日韩亚洲另类| 日本久久精品视频| 免费看日韩毛片| 中文日韩在线| 国产成人综合亚洲| 国产一区二区三区四区视频| 国产乱码一区二区三区| 国产精品裸体一区二区三区| 四虎精品一区二区三区| 久久影院视频免费| 午夜精品区一区二区三| 好了av在线| 亚洲国产综合色| jizzjizzxxxx| 黑人一区二区三区| 欧美成人免费网站| 一级特级黄色片| 精品一区二区三区中文字幕老牛 | 邻家有女韩剧在线观看国语| 国产亚洲欧美日韩俺去了| 亚洲永久激情精品| 国产精品186在线观看在线播放| 欧美日韩国产中字| 香蕉视频网站入口| 亚洲国产中文在线| 亚洲欧美制服丝袜| 国产尤物在线播放| 国产欧美日韩一级| 成人黄色av网站| 天天射天天操天天干| 国产精品美女久久久久av爽李琼| 日韩一级特黄毛片| 欧美大片免费高清观看| 欧美一区二区精美| 免费看黄色的视频| 午夜亚洲福利| 国产精品99久久久久久人| 草草视频在线播放| 国产精品色呦呦| 欧美综合在线播放| 欧美一区一区| 在线不卡国产精品| 久久午夜免费视频| 国产精品影视网| 手机在线观看国产精品| 波多野结衣中文字幕久久| 欧美日韩精品欧美日韩精品一 | 97人妻一区二区精品免费视频 | 老司机精品免费视频| 在线成人欧美| 亚洲xxxx视频| 欧美极品另类| 欧美综合欧美视频| 朝桐光av一区二区三区| 国产精品www994| 成人h视频在线观看播放| 国产黄色免费在线观看| 精品久久久久久久中文字幕| 四虎国产精品免费| 欧美国产小视频| 国产精品九九九| 欧洲天堂在线观看| 黄色一区二区在线观看| 久久国产免费视频| 一区二区三区国产精华| 国产精品爽黄69天堂a| 黄色片在线看| 日韩欧美精品网址| 一二三不卡视频| 亚洲人人精品| 国产伦一区二区三区色一情| 日本色护士高潮视频在线观看| 欧美男人的天堂一二区| 国精产品一区一区| 美洲天堂一区二卡三卡四卡视频 | 欧美性20hd另类| 朝桐光av一区二区三区| 亚洲美女啪啪| 久99久在线| 国产直播在线| 亚洲国产日韩欧美在线动漫 | 欧洲人成人精品| 一级片手机在线观看| 亚洲欧美大片| 欧美三日本三级少妇三99| 中国字幕a在线看韩国电影| 亚洲精品国产精品国自产在线 | 欧美日免费三级在线| 久久av无码精品人妻系列试探| 米奇777在线欧美播放| 久久精品国产精品国产精品污| 国产免费拔擦拔擦8x高清在线人| 亚洲国产精品va在看黑人| 国产成人无码精品亚洲| 91蝌蚪porny| av无码精品一区二区三区| 精品久久综合| 成人免费网站在线观看| 欧美男男video| 精品国产一区二区亚洲人成毛片| 亚欧洲精品在线视频| 91在线播放网址| 不卡av免费在线| 一区二区三区午夜探花| 国产区一区二区三区| 日韩免费福利视频| 久久精品男人天堂| 亚洲国产精品欧美久久| 欧美日韩激情小视频| 亚洲无人区码一码二码三码的含义| 美女www一区二区| 午夜久久久久久久久久久| 91在线一区| 97视频在线观看免费高清完整版在线观看| 性xxxx视频| 欧美色图在线观看| 好吊日在线视频| 91年精品国产| 国产免费中文字幕| 国产欧美一级| 偷拍盗摄高潮叫床对白清晰| 亚洲国产欧美在线观看| 国产精品xxxxx| 调教一区二区| 在线观看日韩www视频免费| 国产白浆在线观看| 色乱码一区二区三区88| 伊人在线视频观看| 久久久精品综合| 日本黄色www| 日韩 欧美一区二区三区| 亚洲精品国产suv一区88| 精品日韩毛片| 国产一区二区免费电影| 高清不卡av| 欧美国产日韩免费| 97电影在线| 日韩精品高清在线| 国产福利第一页| 色94色欧美sute亚洲线路一ni| 国产97免费视频| 99精品黄色片免费大全| 激情成人在线观看| 日韩av电影免费观看高清完整版| 国产精品成人久久电影| 99久久.com| 日韩精品另类天天更新| 噜噜噜狠狠夜夜躁精品仙踪林| 亚洲va久久久噜噜噜久久天堂| 欧美电影免费观看| 7777免费精品视频| 午夜激情在线| 久久精品99久久香蕉国产色戒| 瑟瑟在线观看| 亚洲成色777777在线观看影院| 国产精品一级二级| 欧美色区777第一页| 亚洲乱码国产乱码精品| 亚洲成在人线免费| 麻豆亚洲av熟女国产一区二| 国产精品免费网站在线观看| 99久久久无码国产精品性| 91香蕉视频污| 精品无码在线视频| 99久久99久久免费精品蜜臀| 中文字幕一区二区三区人妻在线视频| 久久精品国产99久久6 | 成人久久网站| 国产成人久久久精品一区| 一区二区乱码| 3344国产精品免费看| 9999精品成人免费毛片在线看| 久久国产精品久久久| 男女啪啪在线观看| 日韩最新免费不卡| 欧美激情办公室videoshd| 日韩中文字幕av| 888av在线| www国产91| 麻豆传媒在线完整视频| 久久久国产成人精品| 黄视频在线观看网站| 久久久精品一区二区| 超碰在线caoporen| 九九精品视频在线| av资源一区| 欧美一区第一页| 综合久久2023| 国产精品久久国产精品99gif| 国产人妖一区| 91亚洲一区精品| 日本免费精品| 国产在线精品一区二区中文 | 午夜一区二区三视频在线观看| 精品日本12videosex| 中文字幕一区二区三区四区五区| 99视频精品视频高清免费| 99亚洲国产精品| 伊人久久成人| 女性隐私黄www网站视频| 奇米影视在线99精品| 日韩av福利在线观看| 丁香五精品蜜臀久久久久99网站| 国产精品偷伦视频免费观看了| 不卡的看片网站| 久久av无码精品人妻系列试探| 国产精品视频一二三| 三级影片在线看| 天天色天天操综合| 日本中文字幕在线观看视频| 欧美日韩精品二区第二页| 北条麻妃一二三区| 亚洲天堂免费在线| 性xxxfreexxxx性欧美| 57pao国产成人免费| 亚洲一区二区三区久久久| 国产精品日韩高清| 国产一区二区三区探花| 免费看黄色a级片| 久久国产99| 亚洲一二三不卡| 91丨九色porny丨蝌蚪| 少妇视频在线播放| 亚洲动漫第一页| 国产成人精品一区二区色戒| 日韩欧美国产综合在线一区二区三区| 秋霞欧美在线观看| 精品国模在线视频| 成人美女视频| 成人在线观看av| 成人a'v在线播放| 男人添女荫道口图片| 日本视频一区二区三区| 国产chinese中国hdxxxx| 国产精品视频九色porn| 在线能看的av| 日韩精品在线网站| 在线观看麻豆| 欧美在线视频在线播放完整版免费观看| 免费成人高清在线视频| 精品一区日韩成人| 欧美亚韩一区| 亚洲免费黄色录像| 国产亚洲精品精华液| 久久精品99国产精| 8v天堂国产在线一区二区| 毛片网站在线| 91精品国产91久久久久| 日韩高清二区| 一区在线电影| 欧美a级理论片| 国产精品无码久久久久久| 亚洲一级不卡视频| av中文字幕第一页| 久久精品国产精品| 91超碰碰碰碰久久久久久综合| 精品伦理一区二区三区| 狠狠综合久久| 精品人妻人人做人人爽夜夜爽| 国产午夜精品福利| 一级成人黄色片| 亚洲精品美女在线观看| 美洲精品一卡2卡三卡4卡四卡| 91精品久久久久久| 色无极亚洲影院| 蜜臀av免费观看| 亚洲国产精品二十页| 一级片免费在线播放| 日韩黄色av网站| 欧美巨大丰满猛性社交| 国产精品一区二区av| 亚洲大胆av| xxxwww国产| 欧美日韩亚洲视频| 日本一区二区三区在线观看视频| 97久久伊人激情网| 香蕉久久夜色精品国产使用方法| 欧美 日韩 亚洲 一区| 成人黄色777网| 日本道在线观看| 国产丝袜一区二区三区| av电影一区| 日韩av一区二区三区美女毛片| 日韩综合一区二区| 手机毛片在线观看| 7777精品伊人久久久大香线蕉的| 色影院视频在线| 91中文在线观看| 黑人一区二区| 黄色性生活一级片| 色婷婷国产精品综合在线观看| 国产精品免费观看| 成人激情在线播放| 欧美日韩亚洲三区| 好吊一区二区三区视频| 日本黄色一区二区| 日韩理伦片在线| 成人9ⅰ免费影视网站| 一本一道久久综合狠狠老精东影业| 偷拍女澡堂一区二区三区| 欧美性受xxxx| 国产黄色小视频在线| 国产精品久久九九| 日韩国产精品久久久久久亚洲| 亚洲人与黑人屁股眼交| 亚洲成人免费网站| 国产精品高清乱码在线观看| 在线观看福利一区| 成人白浆超碰人人人人| 波多野结衣黄色| 免费av一区二区| 亚洲自拍都市欧美小说| 欧美又黄又嫩大片a级| 亚洲第一成年网| 成人欧美一区| 春色成人在线视频| 天堂资源在线中文精品| 少妇被躁爽到高潮无码文| 亚洲成人精品av| 成人黄色毛片| 欧洲精品一区二区三区久久| 国产欧美精品在线观看| 成人精品在线播放| 国产成人一区二区三区小说| 欧美 亚欧 日韩视频在线| 久久无码人妻精品一区二区三区 | 一个人看的视频www| 狠狠躁夜夜躁人人躁婷婷91 | 成人免费av| 国产精品扒开腿做爽爽爽a片唱戏| 欧洲精品在线观看| а√天堂8资源中文在线| 一本一本a久久| 91免费看`日韩一区二区| 国产成a人亚洲精v品无码| 青草青草久热精品视频在线网站| 欧美在线视屏| 美国美女黄色片|