vue与react哪个更香?

225 阅读2分钟
img

概述

个人感觉,vue 与 react 都算真香!,具体项目中用哪个这个需要我们综合来考量一下各自的特点。

人气

React 排名第一。但是 vue.js 也显示了非凡的成功。自 2014 年推出以来,它已成为开发人员在较短时间内的热门选择。

背景知识

Vue.JS: Google 前工程师尤雨溪于 2014 年创建了这个框架。但是它没有得到著名的顶级组织的支持。 截至撰稿时的最新版本是 2.6.10,于 2019 年 3 月 20 日发布。

它是 javascript 家族中最年轻的成员,仅仅推出五年。 阿里巴巴Gitlab 正从该框架中受益。 Vue 被认为是一些成功的 javascript 技术功能的结合。

React:与 Vue 不同,这个 JavaScript 库是由 Facebook 创建的。最初是为了 Facebook 广告流量管理创建的。那时 Facebook 遇到了维护和编码方面的问题。

它以动态创建和交互式 UI 的能力而闻名。 最新版本是16.8.6,于 2019 年 5 月 6 日发布。使用 React 编写代码的一些热门公司是 BBCInstagramWhatsApp和清单实际上很长!

img

相同点

  1. 都是属于MVVM框架
  2. 都有双向数据绑定
  3. 都是数据驱动性的ui框架
  4. 都采用了Virtual DOM
  5. 都是组件化开发方式

不同点

  1. vue 提供了一系列的api, 而react的api 很少
  2. vue的思想是响应式的,也就是基于是数据可变的,react整体是函数式的思想,是单向数据流,推崇结合immutable来实现数据不可变
  3. vue 采用了template, react采用了jsx(tsx)

首先,来说明下这些字母代表的含义

  • M:Model 模型
  • V:View 视图
  • C:Controller 控制器
  • VM:ViewModel 视图模型

 单向数据流过程:

        简单的单向数据流(unidirectional data flow)是指用户访问View,View发出用户交互的Action,在Action里对state进行相应更新。state更新后会触发View更新页面的过程。这样数据总是清晰的单向进行流动,便于维护并且可以预测。


双向数据流过程:

      在双向数据流中,Model(可以理解为状态的集合) 中可以修改自己或其他Model的状态, 用户的操作(如在输入框中输入内容)也可以修改状态。这使改变一个状态有可能会触发一连串的状态的变化,最后很难预测最终的状态是什么样的。使得代码变得很难调试。