React使用refs操作DOM方法詳解
在react框架 甚至說是三大框架中都是不太支持大家直接去操作dom的
因為也沒什么必要
當然也會有特殊情況 例如視頻播放 強制動畫 第三方插件的一些渲染或初始化
官方也給了我們對應(yīng)的解決辦法
那就是refs
我們來簡單寫一個 我們先在constructor中定義一個虛擬dom的控制
參考代碼如下
constructor(props){
super(props);
this.divDaimin = React.createRef()
this.state = {
}
}
這里 我們就通過React提供給我們的createRef函數(shù)聲明了一個叫divDaimin的控制dom節(jié)點
叫什么你們隨意 可以聲明無數(shù)個 這個對數(shù)量沒有限制
然后我們在頁面上去寫一個節(jié)點給我們聲明的divDaimin 去控制
<div className="App">
<div ref = { this.divDaimin }>你好</div>
</div>
這樣 我們這塊div元素就被divDaimin管理了
然后 componentDidMount生命周期是在頁面dom節(jié)點掛載完之后執(zhí)行的 那么我們就在componentDidMount生命周期里打印一下這個divDaimin
componentDidMount(){
console.log(this.divDaimin);
}
運行后效果如下

通過控制臺信息我們可以看到 current字段對應(yīng)的就是我們的元素
我們改一下componentDidMount內(nèi)的代碼
componentDidMount(){
console.log(this.divDaimin.current);
}

很明顯 我們的元素已經(jīng)是被輸出在控制臺上了
為了幫助大家確認我們確實是拿到這個元素了
我們改寫componentDidMount中的代碼
componentDidMount(){
this.divDaimin.current.style.color = "red";
}
我們用一個常規(guī)的js dom操作 將他的字體顏色改為紅色

沒有任何問題 這個東西一般情況下都是可以滿足你的需求的 甚至在react項目中他好可以幫助你實現(xiàn)更多你自己沒接觸過的用途
到此這篇關(guān)于React使用refs操作DOM方法詳解的文章就介紹到這了,更多相關(guān)React操作DOM內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解使用WebPack搭建React開發(fā)環(huán)境
這篇文章主要介紹了詳解使用WebPack搭建React開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
react循環(huán)數(shù)據(jù)(列表)的實現(xiàn)
這篇文章主要介紹了react循環(huán)數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

