網站首頁 編程語言 正文
在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項目中他好可以幫助你實現更多你自己沒接觸過的用途
原文鏈接:https://blog.csdn.net/weixin_45966674/article/details/127218140
相關推薦
- 2022-06-14 C語言深入淺出講解順序表的實現_C 語言
- 2023-10-10 前端position: absolute是相對于誰定位的?
- 2023-07-10 如何實現Spring AOP以及Spring AOP的實現原理
- 2022-04-01 k8s使用docker作為運行時卡死解決辦法
- 2022-12-06 React超詳細分析useState與useReducer源碼_React
- 2022-12-23 iOS?button響應流程圖文詳解_IOS
- 2022-08-05 利用jQuery?treetable實現樹形表格拖拽詳解_jquery
- 2022-05-19 關于python中不同函數讀取圖片格式的區別淺析_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支