mfist
2019-10-03
1. 频繁更新dom引起的性能问题
2. 将真实DOM和js操作解耦,减少js操作dom复杂性。
老师答疑的时候可以介绍下react的fiber吗?感觉李老师的文章通俗易懂,很受益(网上文章分析参差不齐的)
今日总结:
为什么会出现虚拟DOM?javascript直接操作DOM可能会引起重排 重绘等操作(强制同步布局和布局抖动)引起性能问题。这是需要一个中间层来优化dom的操作(批量更新dom,优化更新dom细节),虚拟DOM就呼之欲出了。之后从双缓存和MVC模型的角度来解析了虚拟DOM。
展开
3
5
小兵
2019-10-03
老师,文中的虚拟Dom收集到足够的变化是什么意思?会不会导致页面的响应变慢?
1
4
桃翁
2019-10-22
老师,为什么 React 的 Fiber 不用 async/await 来实现呢?
4
3
柒月
2019-10-03
主要还是解决频繁操作DOM引起页面响应慢的问题。
虚拟DOM就是一个JS对象,通过diff算法比较新老DOM树的差别,来达到最小化局部更新的目的。
其本质不过是用JS的运算性能的消耗来换取操作DOM的性能消耗。
2
2
淡
2019-10-08
老师,你好。我有两个小疑问:
1.就是说到新算法的时候,使用协程说让出主线程。前面课程里说道线程同一时刻只能有一个协程能执行,这里说的协程如果还属于主线程的话,我理解的依然会卡主线程,如果不属于相当于新开线程来执行diff算法。请问我是不是哪里理解错了?
2.就是分析React更新dom,第一步说监听DOM的变化,后面又说React变化的虚拟DOM同步更新到实际DOM,触发DOM的更新。我理解第一步应该是监听虚拟DOM变更函数调用,但是这样由于示例图又不一样了,如果是实际DOM的变化都已经变化了就没后面什么事了吧?
5
1
AMIR
2019-12-30
老师,我用js文件里面操作dom原生操作,不也是这个js文件执行完,也就是所有的dom原生操作都做完,才统一渲染页面么?我觉得虚拟dom只是对比innerHtml更有优势,并且屏蔽了原生的操作,可以使更多人来使用数据驱动视图,而不必要去操作麻烦的原生操作,就从效率来说,虚拟dom肯定比原生的差啊,虚拟dom对比完了,不还是得调用原生的操作么?他至少比原生多了diff算法的时间,麻烦老师解答下,提了挺多问题了,老师有空看一下
cn.hfuu.zhou
2019-10-15
老师,能不能举一个例子详细说明一下,虚拟dom怎么就比直接操作dom的效率高一些。
Luke
2019-10-14
老师能深入分析一下,MVC MVP MVVM这三种架的构演变过程吗?为什么提出这三种架构,主要是解决什么问题,它们之间的区别和联系?网上有很多相关的文章,但是感觉都解释的得不是很清晰。
Luke
2019-10-14
期待老师新的课程!
Angus
2019-10-12
我觉主要是更新收集和更新比对这两个方面让虚拟DOM减少了很多直接操作带来的频繁渲染
1
code-artist
2019-10-07
哪位有没有vdom更新算法介绍的文章推荐
2
宇宙全栈
2019-10-04
基于 React 和 Redux 构建 MVC 模型的配图中,控制器是不是不能直接改变视图?因为 redux 模型是单向数据流吧
隔夜果酱
2019-10-03
李老师后面会考虑React源码类的专栏么?
网上的视频和文章很多都流于表面,或者生搬硬套的进行解释,看的让人头大.
如果李老师有精力和兴趣的话,希望可以开专栏为我们指点迷津呀.
Hurry
2019-10-03
频繁DOM操作是非常消耗浏览器性能的,虚拟DOM核心还是将批量DOM操作后的变化一次性更新到浏览器。
2
我们在线,来聊聊吧
✕
您好,当前有专业客服人员在线,让我们来帮助您吧。
我们在线,来聊聊吧