引用这篇(https://news.ycombinator.com/item?id=9155564)文章
简短的回答是 DOM 并不慢。添加和删除 DOM 节点是一些指针交换,只不过是在 JS 对象上设置一个属性。
DOM 瓶颈只是那些导致重绘的东西吗?如果是这样,那么来自 React 的虚拟 DOM 的渲染是否应该摊销到与重绘整个组件相同的性能(当然是在一个浏览器 API 调用中)?我认为浏览器执行的算法只会尝试重新绘制从一种状态到另一种状态的差异(可能像 git?)。暗示浏览器自己维护一个虚拟 DOM。那么拥有虚拟 DOM 的意义何在?
还应该添加一个将display
style 属性设置为none
不会严重影响性能的元素吗?我会自己对此进行分析,但我不知道该转向哪里,因为我最近才开始使用 JavaScript 编程。