区别:1、vue是双向绑定,react不是;2、React使用JSX,Vue使用HTML模板创建视图;3、React用Flux来管理状态,Vue用Vuex;4、React用Create React App脚手架,Vue使用vue-cli。
本教程操作环境:windows7系统、vue2.9.6&&react16版,DELL G3电脑。
React.js与Vue.js比较
React | Vue | |
---|---|---|
类型 | JavaScript库 | JavaScript库 |
适用于 | Web和Native的理想选择 | 主要关注Web开发,但它是为了支持其他平台的前进而编写的 |
开发人员 | Facebook社区(由Jordan Walke创建) | Evan You |
首次发布 | 2013年3月 | 2014年2月 |
写入 | JavaScript | JavaScript |
跨平台开发 | React的React Native是一个成熟且广泛使用的原生应用程序平台 | Vue的Weex仍在不断发展,旨在提供顺畅的开发体验 |
学习曲线 | 陡峭的学习曲线,需要深厚的知识 | 简单的学习曲线,基于HTML的模板使其熟悉 |
人气 | React在GitHub上最热门的Javascript项目列表中排名第二 | Vue.js排名第一,是2017年最时尚的项目,年内在GitHub上添加了超过40,000颗星 |
可重用性 | 仅CSS | 最大可重用性 |
性能 | 同样快速 | 同样快速 |
GitHub上的贡献者 | 1201 | 189 |
模型 | 虚拟DOM(文档对象模型) | 基于虚拟DOM HTML的模板 |
功能 | 可用作单页面或移动应用程序开发的基础 | 能够为高级单页面应用程序提供动力的Web应用程序框架 |
简单 | React比Vue更复杂 | Vue比React更简单 |
值得注意的特性 | 使用道具进行单向数据绑定有状态组件虚拟DOM 生命周期方法 JSX(JavaScript XML) HTML以外的架构 | 基于HTML的模板反应性组件(将整个应用程序划分为小型,自我包含,通常可重用的组件)转换路由*集成 |
Bootstrap应用程序 | CRA(创建React应用程序) | Vue-cli |
1、数据绑定
Vue中有关数据绑定的部分
vue是双向绑定, Vue.js 最核心的功能有两个,一是响应式的数据绑定系统,二是组件系统。所谓双向绑定,指的是vue实例中的data与其渲染的DOM元素的内容保持一致,无论谁被改变,另一方会相应的更新为相同的数据。这是通过设置属性访问器实现的。
在vue中,与数据绑定有关的有 插值表达式、指令系统、*Class和Style、事件处理器和表单空间、ajax请求和计算属性
react没有数据双向绑定
react是单向数据流
react中通过将state(Model层)与View层数据进行双向绑定达数据的实时更新变化,具体来说就是在View层直接写JS代码Model层中的数据拿过来渲染,一旦像表单操作、触发事件、ajax请求等触发数据变化,则进行双同步
2、重新渲染和优化
当你比较React和Vue时,速度不能成为决定哪个更好的重要比较因素。在性能方面,让我们考虑重新渲染功能。当组件的状态发生变化时,React的机制会触发整个组件树的重新呈现。您可能需要使用额外的属性来避免不必要地重新渲染子组件。
虽然Vue的重新渲染功能是开箱即用的,但Vue提供了优化的重新渲染,其中系统在渲染过程中跟踪依赖关系并相应地工作。
重新渲染Vue是最显着的特征,使其成为全世界开发人员广泛接受的框架。
3、JSX与HTML
React使用JSX - 一种声明性JavaScript XML,允许开发人员利用JavaScript的强大功能编写组件,而Vue.js使用HTML模板创建视图。
基于HTML的模板更加熟悉,在改进现有应用程序以获得Vue反应性功能的好处方面也是有益的。这为初学者和有经验的专业人士提供了一个简单的学习曲线,因为他们中的大多数人都以这种或那种方式使用HTML。
4、路由和状态管理解决方案
在像React和Vue这样的基于组件的框架中,当您开始扩展应用程序时,需要更加关注状态管理和数据流。这是因为有许多组件相互交互并共享数据。
在这种情况下,React提供了一种称为Flux / Redux架构的创新解决方案,它代表单向数据流,是着名MVC架构的替代方案。现在,如果我们考虑Vue.js框架,就会有一个名为Vuex的更高级架构,它集成到Vue中并提供无与伦比的体验。
5、建筑工具
React和Vue都有一个非常好的开发环境。只需很少或没有配置,您就可以创建应用程序,使您能够使用最新的实践和模板。在React中,有一个Create React App(CRA),在Vue中,它是vue-cli。
这两种引导工具都倾向于为您提供舒适灵活的开发环境,并为您提供开始编码的出色起点。
相关推荐:《vue.js教程》
以上是react和vuejs有什么区别的详细内容。更多信息请关注PHP中文网其他相关文章!