
React
因为有着浩瀚的相到处,我们会用更多的时光在这一块进行比较。这里我们不只包管技巧内容的精确性,同时也兼顾了均衡的考量。我们须要承认 React 比 Vue 更好的处所,比如更丰富的生态体系。
类似之处
Vue.js(2.0版本)与React的个中最年腋荷琐类似之处,就是他们都应用了一种叫'Virtual DOM'的器械。所谓的Virtual DOM根本上说就是它名字的意思:虚拟DOM,DOM树的虚拟表示。它的出生是基于这么一个概念:改变┞锋实的DOM状况远比改变一个JavaScript对象的花销要大年夜得多。
简单来说,Virtual DOM是一个映赡┞锋实DOM的JavaScript对象,如不雅须要改变任何元素的状况,那么是先在Virtual DOM长进行改变,而不是直接改变┞锋实的DOM。当有变更产生时,一个新的Virtual DOM对象会被创建并枷⒚鹇旧Virtual DOM之间的差别。之后这些差别会应用在真实的DOM上。
例子如下,我们可以看看下面这个列表在HTML中的代码是若何写的:

而在JavaScript中,我们可以用对象简单地创造一个针对膳绫擎例子的映射:

真实的Virtual DOM会比膳绫擎的例子更复杂,但它本质上是一个嵌套着数组的原生对象。当新一项被加进去这个JavaScript对象时,一个函数管帐算新旧Virtual DOM之间的差别并反竽暌功在真实的DOM上。计算差别的算法是高机能框架的机密地点,React和Vue在实现上有点不合。
Vue传播鼓吹可以更快地计算出Virtual DOM的差别,这是因为它在衬着过程中,会跟踪每一个组件的依附关系,不须要从新衬着全部组件树。
而对于React而言,每当应用的状况被改变时,全部子组件都邑从新衬着。当然,这可以经由过程shouldComponentUpdate这个生命周期办法来进行控制,但Vue将此视为默认的优化。
组件化

正如膳绫擎你看到的例子中,HTML, JavaScript和CSS都写在一个文件之中,你不再须要在.vue组件文件中惹人CSS。
React和Vue都有很好的Chrome扩大对象去赞助你找出bug。它们会检查你的应用,让你看到Vue或者React中的变更。你也可以看到应用中的状况,并及时看到更新。
而在React语法中,JavaScript与JSX被写入同一个组件文件中。

Props
在膳绫擎两个例子中,我们可以看到React和Vue都有'props'的概念,这是properties的简写。props在组件中是一个特别的属性,许可父组件往子组件传送数据。

膳绫擎的JSX库组中,index, key, details, orders 与 addToOrder都是props,数据会被下传到子组件PastaItem中去。
在React中,这是必须的,它依附一个“单一数据源”作为它的“状况”。而在Vue中,props略有不合。它们一样是在组件中被定义,但Vue依附于模板语法,你可以经由过程模板的轮回函数更高效地展示传入的数据。

构建对象
React和Vue都有本身的构建对象,你可以应用它快速搭建开辟情况。React可以应用Create React App (CRA),而Vue对应的则是vue-cli。两个对象都能让你获得一个根据最佳实践设置的项目模板。
因为CRA有很多选项,应用起来会稍微麻烦一点。这个对象会强迫你应用Webpack和Babel。而vue-cli则有模板列表可选,能按需创造不合模板,应用起来更灵活一点。
事实上说,两个对象都异常好用,都能为你建立一个好情况。并且如不雅可以不设备Webpack的话,我和Jeff认为这是天大年夜的功德。
Chrome 开辟对象
Vue的开辟对象: https://cdn.deliciousbrains.com/content/uploads/2017/06/15151111/vue-devtools.mp4
重要差别
作者:code-xzh
Vue与React最后一个类似但略有不合之处是它们配套框架的处理办法。雷同之处在于,两个框架都专注于UI层,其他的功能如路由、状况治理等都交由错误框架进行处理。
推荐阅读
在我们很多人的眼中,机械无需仁攀类教受便可以或许自立进修是科幻小说或片子中的情节。而科幻片子给我们留下的印象往往是险恶计算机妄图统治世界。但当人工智能和机械进修成为我们生活中的一部分,并且>>>详细阅读
本文标题:vue.js与其他前端框架的对比
地址:http://www.17bianji.com/lsqh/37643.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示