操作DOM in react

问题描述 投票:0回答:1

我知道直接在react中操作DOM并不是一个好习惯。比较虚拟DOM和真实DOM时,反应协调引擎会影响性能]

但是如果我做这样的事情怎么办?

state = {
   innerHTML : ""
}

document.getElementById("test").innerHTML = this.state.innerHTML

handleChange(){
  //...handles change in state
}

在这种情况下,React意识到它需要重新渲染,因为我正在通过保持虚拟和真实DOM的一致性来更改状态。

在这种情况下,以这种方式更改真实的DOM仍然不是一个好主意吗?

javascript reactjs
1个回答
0
投票

在那种情况下,您应该使用innerHTML:而不是直接设置dangerouslySetInnerHTML

dangerouslySetInnerHTML
© www.soinside.com 2019 - 2024. All rights reserved.