欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

干货!教大家如何选择Vue和React

程序员文章站 2023-11-22 15:49:16
两者之间的相同之处 同样是基于组件开发的轻量级框架,同样是专注于用户界面的视图view层。 如何选择 1.1 如果喜欢用模板搭建应用(或者有这个想法)选择vue...

两者之间的相同之处

同样是基于组件开发的轻量级框架,同样是专注于用户界面的视图view层。

如何选择

1.1 如果喜欢用模板搭建应用(或者有这个想法)选择vue

vue应用默认的是把markup放在html中,数据绑定表达式和angular一样,采用{{}}的形式,而指令(特殊的html属性)用来向模板中添加功能

<div> <p>{{ message }}</p>
 <button v-on:click="reversemessage">reverse message</button>
</div>
// js
new vue({
 el: '#app',
 data: {
 message: 'hello vue.js!'
 },
 methods: {
 reversemessage: function () {
  this.message = this.message.split('').reverse().join('');
 }
 }
});

react使用的是jsx语法(在javascript中创建dom),而不使用模板。

<div id="app"></div>
// js (pre-transpilation)
class app extends react.component {
 constructor(props) {
 super(props);
 this.state = {
  message: 'hello react.js!'
 };
 }
 reversemessage() {
 this.setstate({ 
  message: this.state.message.split('').reverse().join('') 
 });
 }
 render() {
 return (
  <div>
  <p>{this.state.message}</p>
  <button onclick={() => this.reversemessage()}>
   reverse message
  </button>
  </div>
 )
 }
}
reactdom.render(app, document.getelementbyid('app'));

模板可以更好地把布局和功能分隔开,但是需要学习所有的html扩展语法,而渲染函数只需要标准的html和javascript。

注意:vue2.0提供使用模板和渲染函数的选项

1.2 想要简单一点的语法,更快的渲染速度,选择vue

使用vue不需要转译,直接运行在浏览器中,但是react代码重度依赖于jsx和es6语法。

1.2.1 两者处理数据的方式不一样

vue的数据可变,react的数据不可变

//vue
this.message = this.message.split('').reverse().join('');
//react
this.setstate({ 
 message: this.state.message.split('').reverse().join('') 
});

对于state的数据变化,vue比react的重新渲染系统更快更有效率。

1.3 想要构建一个大型的应用程序,选择react

模板的使用会阻碍应用扩展到更大规模,模板容易出现很难注意到的运行时的错误,同时也很难去测试,重构,分解。

1.4 想要一个同时适用于web端和原生app的框架,选择react

react native 是一个使用javascript构建出移动端原生应用程序(ios android)的库,与react。js相同,只是不使用web组件,而是使用原生组件,只要会其中一个,就会另一个,
这样无论是开发web端还是移动端都可以用。

1.5 要最大的生态系统,最全面问题解决,更全的工具和插件可以使用react

具数量统计,react在npm上的下载量为250万/月,vue为22.5万/月

react是facebook的,会得到全面的支持与维护,vue是尤雨溪

带领的小团队维护的。

总结一下,我们发现的,vue的优势是:

- 模板和渲染函数的弹性选择
- 简单的语法和项目配置
- 更快的渲染速度和更小的体积

react的优势是:

- 更适合大型应用和更好的可测试性
- web端和移动端原生app通吃
- 更大的生态系统,更多的支持和好用的工具
- 然而,react和vue都是很优秀的框架,它们之间的相似之处多过不同- 之处,并且大部分的优秀功能是相通的:
* 用虚拟dom实现快速渲染
* 轻量级
* 响应式组件
* 服务端渲染
* 集成路由工具,打包工具,状态管理工具的难度低
* 优秀的支持和社区

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。