gpt4 book ai didi

javascript - 在 React 中操作 DOM

转载 作者:行者123 更新时间:2023-11-30 13:44:31 26 4
gpt4 key购买 nike

我知道直接在 React 中操作 DOM 并不是一个好的做法。由于 React 协调引擎在比较虚拟 DOM 和真实 DOM 时会影响性能

但是如果我这样做呢?

场景仅用于解释问题。这种特定情况不需要答案,但这种做法一般有缺点

场景:1

state = {
innerHTML : ""
}

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

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

场景:2

state = {
color:"red"
}

document.getElementById("test").style.color = this.state.color

handleChange(color){
this.setState({color})
}

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

所以在所有这些我可以使用状态来保持一致性并对真实 DOM 进行更改的情况下,以这种方式对真实 DOM 进行更改仍然是一个坏主意吗?

最佳答案

您可以考虑使用 ReactRef 而不是直接操作 DOM,它更容易、更安全并且是最佳实践。

检查 here

关于javascript - 在 React 中操作 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59569696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com