大部分情況下你不需要去操作DOM元素交煞,你只需要通過設(shè)置組件的狀態(tài)值(setState),react會通過狀態(tài)值去渲染組UI斟或。但是可能在某些情況下你確實需要直接操作 DOM素征。
react是從jsx到虛擬dom再從虛擬dom生成dom的,所以需要在頁面生成DOM后才能去操作DOM節(jié)點的萝挤,那么很容易讓我們相到react的幾個生命周期御毅,componentDidMount()就是在組件掛載之后調(diào)用的一個生命周期,這時已經(jīng)生成了DOM節(jié)點怜珍,所以端蛆,可以在這個生命周期里 操作DOM!
Example:
假如我們要移除頁面中a標簽的某個屬性酥泛,怎么操作呢今豆?莫急,仔細看下面的代碼:
componentDidUpdate:function(){
? ? ? ? if(!!document.getElementsByTagName("a")[0].getAttribute("href")) {
? ? ? ? ? ? for(var i=0;i<documnet.getElementsByTagName("a").length;i++){
? ? ? ? ? ? ? ? ?document.getElementsByTagName("a")[i].removeAttribute("href")
};
}}},
沒錯柔袁,就是這么簡單呆躲!