在经历反应时,我产生了以下疑问:
>
DOM操作非常昂贵
但是最终react也会进行DOM操作。我们无法使用虚拟DOM生成视图。
折叠整个DOM并构建它会影响用户体验。
我从来没有这样做过,我主要做的是更改所需的子节点(而不是折叠整个父节点)或附加由JS生成的HTML代码。
例子:
>
当用户向下滚动时,我们将帖子附加到父元素,甚至react也必须以同样的方式执行。没有人会因此而毁掉整个dom。
当用户对一篇文章发表评论时,我们将一个div(comment元素(HTML代码))附加到该特定的文章评论列表中。我认为没有人会因为这个而毁掉整个帖子(dom)
3) 检查更改的“diffing”算法:
为什么我们需要一个算法来检查更改。示例:如果我有100篇文章,每当用户单击某篇文章的编辑按钮时,我都会按如下方式操作
$(".postEdit").click(function(){
var post_id = $(this).data("postid");
//do some Ajax and DOM manipulation to that particular post.
})
我告诉DOM改变特定的元素,那么扩散有什么帮助呢?
我是不是想错了?如果有,请纠正我。
这个讨论对于理解虚拟DOM及其在不同UI框架中的实现非常有帮助。
还有一些其他的链接可以更好地解释这一点。
>
https://auth0.com/blog/face-off-virtual-dom-vs-incremental-dom-vs-glimmer/
http://teropa.info/blog/2015/03/02/change-and-its-detection-in-javascript-frameworks.html
您是对的,当人们需要更新单个元素时,他们不会倾向于折叠并重新创建整个DOM。相反,最佳实践是只重建所需的元素。但是,如果用户采取的行动实际上会影响很多元素呢?就像他们给一篇文章加上星星一样,你想在文章上反映出来,也许在页面的其他地方加上星星数。随着应用程序变得足够复杂,更改页面中需要更改的所有部分变得非常复杂,并且容易出错。另一个开发人员可能不知道页面上的其他地方有一个“星星计数”,并且会忘记更新它。
如果可以重建整个DOM呢?如果您编写了渲染方法并存储了状态,以便在任何时候都可以从头开始渲染整个页面?这消除了许多这些痛点,但显然您失去了手动更改DOM部分所获得的所有性能增益。
React和虚拟dom让您充分利用这两个世界。您可以得到优化的DOM更新,但作为开发人员,您不必保留整个应用程序的心智模型,也不必记住对于任何给定的用户或网络输入,您需要更改什么。虚拟dom还可能比您更有效地实现这些更改,只需重建您需要的元素。在某个时刻,你可能正在重建比“以防万一”更重要的东西。
希望这种说法有道理!
本文向大家介绍什么是虚拟DOM?相关面试题,主要包含被问及什么是虚拟DOM?时的应答技巧和注意事项,需要的朋友参考一下 虚拟 dom 是相对于浏览器所渲染出来的真实 dom 的,在react,vue等技术出现之前,我们要改变页面展示的内容只能通过遍历查询 dom 树的方式找到需要修改的 dom 然后修改样式行为或者结构,来达到更新 ui 的目的。 这种方式相当消耗计算资源,因为每次查询 dom 几
我刚开始学ReactJS。我以前在所有的项目中都使用jQuery和Javascript,在阅读了教程后,对ReactJS几乎没有什么疑问。 > 为什么我需要ReactJS,jQuery仍然是用来更新DOM和handlebar,dust是用来处理模板的。
本文向大家介绍react的虚拟DOM和vue的虚拟DOM有什么区别?相关面试题,主要包含被问及react的虚拟DOM和vue的虚拟DOM有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 React 是数据先生成 vdom,然后对比 vdom(实现上并非先后顺序,两棵树边遍历边生成新的树),最后通过新的 DOM 树渲染。 Vue 是数据先进性对比,先通过数据的不同,再去更新 vdom(这不知道
由于DOM具有结构,我认为在很多情况下,我们知道将要进行的确切更改,在这些情况下,我看不到虚拟DOM的优势。我是不是漏掉了这幅画中一些重要的部分? 我看到了一些关于虚拟DOM主题的其他讨论,但我觉得它没有回答我的问题。我希望举一个例子会使它更具体。
对于类InetAddress,它有一个属性“networkaddress.cache.negative.ttl”。Javadoc说 原谅我愚蠢的问题,如果名称查找不成功,有什么要缓存的?不成功的名称查找意味着没有IP地址返回,所以它不能缓存任何IP地址。 这是否意味着此参数只会在缓存期间简单地返回“主机未找到”返回代码以进行同名查找,而不是执行实际的DNS查询? 谢谢
前言 vdom 是 vue 和 React 的核心,先讲哪个都绕不开它。 vdom 比较独立,使用也比较简单。 如果面试问到 vue 和 React 和实现,免不了问 vdom: vdom 是什么?为何会存在 vdom? vdom 的如何应用,核心 API 是什么 介绍一下 diff 算法 什么是 vdom 什么是 vdom DOM操作是昂贵的。 步骤一:用JS对象模拟DOM树 步骤二:比较两棵虚