问题标签 [virtual-dom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
91329 浏览

javascript - 为什么说 React 的 Virtual DOM 概念比脏模型检查更高效?

我在(Pete Hunt: React: Rethinking best practice -- JSConf EU 2013 )上看到了一个React开发者演讲,演讲者提到模型的脏检查可能很慢。但是,在大多数情况下,虚拟 DOM 应该比模型大,因此计算虚拟 DOM 之间的差异实际上不是性能更差吗?

我真的很喜欢 Virtual DOM 的潜在力量(尤其是服务器端渲染),但我想知道所有的优点和缺点。

0 投票
1 回答
509 浏览

javascript - virtual-dom - 如何获取真实的 DOM 元素以便与 spin.js 集成?

使用virtual-dom库时,如何获取与虚拟元素对应的真实 DOM 元素?用例是我需要通过spin.js库操作 DOM。

相应地,在 React 中,您将调用React.findDOMNode以获取要传递给 spin.js 的元素。

示例代码:

0 投票
1 回答
358 浏览

dom - Web 组件(聚合物)和/或 Shadow DOM 是否与虚拟 DOM 兼容?

我正在努力思考 Web 组件是否可以利用虚拟 DOM 提供的速度改进。我猜 Shadow DOM 可能是一个绊脚石。

我比神秘的(对我而言)Shadow 或 Shady DOM 更了解虚拟 DOM 的概念。

虚拟 DOM 差异的概念是否适用于 Shadow DOM,或者它们不兼容?

例如,虚拟 dom 项目可以与Polymer Web 组件一起使用吗?

0 投票
2 回答
87 浏览

javascript - Mercury - 如何设置选项元素的“选定”属性?

如何使用Mercury / virtual-dom设置元素的selected属性?option

我尝试了以下方法,但没有selected属性出现在<option>

相反,它会导致:

0 投票
0 回答
151 浏览

javascript - 虚拟dom超标中的不确定复选框

如何在虚拟超标中创建不确定的复选框?

将不起作用,因为indeterminate它是属性而不是属性。

0 投票
1 回答
139 浏览

reactjs - Mithril VM DOM diffing 未检测到附加事件处理程序中的差异

这可能不是秘银特定的问题,但一般来说 VM DOM 不同。在“重绘”页面并附加新的事件处理程序、删除事件处理程序或更改与“onclick”等事件关联的事件处理程序时,似乎 VM DOM 差异不会检测到更改,我必须显式强制重新渲染“真实”DOM。

是否有一个很好的模式来处理这些情况。

0 投票
4 回答
1128 浏览

javascript - 虚拟 DOM 如何提高 ReactJS 的速度?

我读到 ReactJS 与其他框架相比非常快,因为 if 使用虚拟 dom。

我无法理解的是最终所有框架都必须在浏览器中推送 dom 对象。virtualDom 如何帮助提高速度?

假设我要添加 10K 节点列表,ReactJS 和其他框架所需的 DOM 操作时间不应该相似吗?

0 投票
1 回答
160 浏览

javascript - D3js 和 React 关于 DOM 操作

D3 dom 操作机制如何影响(如果有的话)React 的虚拟 dom?

我发现很多例子表明这两个库可以很好地协同工作,但没有一个提到这个问题。顺便说一句,这可能根本不是问题,这只是我提出的一个大问题,但找不到回答。

编辑:

我刚刚了解到,只有在“写入”虚拟 dom 时,dom 才会更新。并且总是在从实际“阅读”中“阅读”时在虚拟 dom 上完成。

所以当我使用 D3 直接更新 DOM 时,virtual-dom 对此一无所知,我将无法从 virtual-dom 中读取新的更改。这就是我所害怕的,现在我想知道当我不得不使用 D3 时 React 是如何帮助我的?

0 投票
2 回答
860 浏览

mithril.js - 如何在重绘中保留 Mithril 中的 DOM 元素

我想知道,在 Mithril 中,跨重绘保留 DOM 元素的最佳做法是什么。

我有一个 iframe,其中包含一个导航链接,因为它的内容。我需要在 Mithril 的重绘中保留这个 iframe。

我已经尝试了以下解决方案,其中 iframe 在组件的控制器函数中使用 redraw.stategy 设置为“none”来呈现。

但是,iframe 似乎在重绘时发生了变化:

这是保留 DOM 元素的正确方法吗?还是有另一种方法来实现这一目标?

谢谢你。

0 投票
2 回答
28916 浏览

reactjs - React JS 冻结浏览器

我有一个包含 2000 个元素的 React 组件,并根据一些过滤条件更新我的状态,这在内部会导致重新渲染。一切似乎都运行良好。但是当我从 2000 个元素切换到 1000 个元素并来回切换过滤器时,渲染需要很长时间,有时浏览器会冻结。我做了 chrome 时间线分析,主要耗时的部分是渲染。任何帮助,将不胜感激。

在此处输入图像描述