react refs修改dom的方法:1、在constructor中定義一個(gè)虛擬dom的控制;2、通過React的createRef函數(shù)聲明一個(gè)叫divDaimin的控制dom節(jié)點(diǎn);3、通過“componentDidMount(){this.divDaimin.current.style.color = "red";}”修改dom值即可。
本教程操作環(huán)境:Windows10系統(tǒng)、react18.0.0版、Dell G3電腦。
react refs怎么修改dom?
React使用refs操作DOM方法詳解
在react框架 甚至說是三大框架中都是不太支持大家直接去操作dom的
因?yàn)橐矝]什么必要
當(dāng)然也會(huì)有特殊情況 例如視頻播放 強(qiáng)制動(dòng)畫 第三方插件的一些渲染或初始化
官方也給了我們對應(yīng)的解決辦法
那就是refs
我們來簡單寫一個(gè) 我們先在constructor中定義一個(gè)虛擬dom的控制
參考代碼如下
constructor(props){ super(props); this.divDaimin = React.createRef() this.state = { } }
這里 我們就通過React提供給我們的createRef函數(shù)聲明了一個(gè)叫divDaimin的控制dom節(jié)點(diǎn)
叫什么你們隨意 可以聲明無數(shù)個(gè) 這個(gè)對數(shù)量沒有限制
然后我們在頁面上去寫一個(gè)節(jié)點(diǎn)給我們聲明的divDaimin 去控制
<div className="App"> <div ref = { this.divDaimin }>你好</div> </div>
這樣 我們這塊div元素就被divDaimin管理了
然后 componentDidMount生命周期是在頁面dom節(jié)點(diǎn)掛載完之后執(zhí)行的 那么我們就在componentDidMount生命周期里打印一下這個(gè)divDaimin
componentDidMount(){ console.log(this.divDaimin); }
運(yùn)行后效果如下
通過控制臺(tái)信息我們可以看到 current字段對應(yīng)的就是我們的元素
我們改一下componentDidMount內(nèi)的代碼
componentDidMount(){ console.log(this.divDaimin.current); }
很明顯 我們的元素已經(jīng)是被輸出在控制臺(tái)上了
為了幫助大家確認(rèn)我們確實(shí)是拿到這個(gè)元素了
我們改寫componentDidMount中的代碼
componentDidMount(){ this.divDaimin.current.style.color = "red"; }
我們用一個(gè)常規(guī)的js dom操作 將他的字體顏色改為紅色
沒有任何問題 這個(gè)東西一般情況下都是可以滿足你的需求的 甚至在react項(xiàng)目中他好可以幫助你實(shí)現(xiàn)更多你自己沒接觸過的用途
推薦學(xué)習(xí):《react視頻教程》
以上就是react refs怎么修改dom的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號