中易网

如何进行高性能的复杂dom操作

答案:2  悬赏:0  
解决时间 2021-02-19 20:15
如何进行高性能的复杂dom操作
最佳答案
React速度很快
与其它框架相比,React采取了一种特立独行的操作DOM的方式。
它并不直接对DOM进行操作。
它引入了一个叫做虚拟DOM的概念,安插在JavaScript逻辑和实际的DOM之间。
这一概念提高了Web性能。在UI渲染过程中,React通过在虚拟DOM中的微操作来实对现实际DOM的局部更新。
跨浏览器兼容
虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。
模块化
为你程序编写独立的模块化UI组件,这样当某个或某些组件出现问题是,可以方便地进行隔离。
每个组件都可以进行独立的开发和测试,并且它们可以引入其它组件。这等同于提高了代码的可维护性。
单向数据流让事情一目了然
Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。它只是一个概念,而非特定工具的实现。它可以被其它框架吸纳。例如,Alex Rattray有一个很好的Flux实例,在React中使用了Backbone的集合和模型。
纯粹的JavaScript
现代Web应用程序与传统的Web应用有着不同的工作方式。
例如,视图层的更新需要通过用户交互而不需要请求服务器。因此视图和控制器非常依赖彼此。
许多框架使用Handlebars或Mustache等模板引擎来处理视图层。但React相信视图和控制器应该相互依存在一起而不是使用第三方模板引擎,而且,最重要的是,它是纯粹的JavaScript程序。
同构的JavaScript
单页面JS应用程序的最大缺陷在于对搜索引擎的索引有很大限制。React对此有了解决方案。
React可以在服务器上预渲染应用再发送到客户端。它可以从预渲染的静态内容中恢复一样的记录到动态应用程序中。
因为搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。
React与其它框架/库兼容性好
比如使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。它们使得那些艰难的任务不再让人望而生畏。
不幸的是,目前的JavaScript版本并没有提供一个打包和加载的模块。(在未来的ES6版本上将使用System.import来解决这个问题)。
幸运的是,我们有RequireJS和Webpack这些漂亮整洁的替代品。React是由Browserify构建的,如果你想操作图像资源或者编译Less和CoffeeScript,Webpack或许是一个更好的选择。
全部回答
我不会~~~但还是要微笑~~~:)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
302国道115公里500米是哪里 为什么总违章
有人为什么能看见鬼
请教大神这款卡地亚帕莎是不是真的、编号是多
在英雄联盟中有多少位姓王的的英雄
藕丁要怎么切,才好看又容易熟?
孔玉婷的英文怎写,不会别乱写哦
成都大还是贵阳大
做蝴蝶结用什么胶
个位朋友这怎么做呢
1十1等于几:
怎样把本子上写的东西用打印机打在A4纸上
乐淘零食公园(汇银店)地址在哪,我要去那里办
考试之前复习对提高成绩有帮助吗?
四年级身边价值观的故事250字左右
国土证是假的,办到了真的房产证
推荐资讯
我要写穿越小说,可不可以吧唐朝发生的事,人
想知道:从蒙城汽车站到鸿业国际大酒店怎么坐
“你愿不愿意和我成为漆黑火焰的使魔” 这句
笔记本电脑有几种关机方式
2017年房产税具体是怎么征税啊?我家有三套房
急求【今夜哪里有鬼系列】系列全集!!!拜托
现在dnf85传承套好不好
英语有12级吗
开元社区活动中心在哪里啊,我有事要去这个地
看别人晒幸福经典回复
凤轻尘简直不敢相信自己看到的,今天不是她大
盛大通行证密保卡忘了怎么办
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?