您好,登錄后才能下訂單哦!
今天小編給大家分享一下react refs如何修改dom的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
react refs修改dom的方法:1、在constructor中定義一個虛擬dom的控制;2、通過React的createRef函數聲明一個叫divDaimin的控制dom節點;3、通過“componentDidMount(){this.divDaimin.current.style.color = "red";}”修改dom值即可。
React使用refs操作DOM方法詳解
在react框架 甚至說是三大框架中都是不太支持大家直接去操作dom的
因為也沒什么必要
當然也會有特殊情況 例如視頻播放 強制動畫 第三方插件的一些渲染或初始化
官方也給了我們對應的解決辦法
那就是refs
我們來簡單寫一個 我們先在constructor中定義一個虛擬dom的控制
參考代碼如下
constructor(props){
super(props);
this.divDaimin = React.createRef()
this.state = {
}
}
這里 我們就通過React提供給我們的createRef函數聲明了一個叫divDaimin的控制dom節點
叫什么你們隨意 可以聲明無數個 這個對數量沒有限制
然后我們在頁面上去寫一個節點給我們聲明的divDaimin 去控制
<div className="App">
<div ref = { this.divDaimin }>你好</div>
</div>
這樣 我們這塊div元素就被divDaimin管理了
然后 componentDidMount生命周期是在頁面dom節點掛載完之后執行的 那么我們就在componentDidMount生命周期里打印一下這個divDaimin
componentDidMount(){
console.log(this.divDaimin);
}
運行后效果如下
通過控制臺信息我們可以看到 current字段對應的就是我們的元素
我們改一下componentDidMount內的代碼
componentDidMount(){
console.log(this.divDaimin.current);
}
很明顯 我們的元素已經是被輸出在控制臺上了
為了幫助大家確認我們確實是拿到這個元素了
我們改寫componentDidMount中的代碼
componentDidMount(){
this.divDaimin.current.style.color = "red";
}
我們用一個常規的js dom操作 將他的字體顏色改為紅色
沒有任何問題 這個東西一般情況下都是可以滿足你的需求的 甚至在react項目中他好可以幫助你實現更多你自己沒接觸過的用途。
以上就是“react refs如何修改dom”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。