Vue和React有什么不同?使用场景分别是什么?

目录

  • 前言
  • 1.数据流渲染
  • 2.使用场景
  • 3.写法
  • 4.React的diff和Vue的diff算法

前言

Vue的核心思想是尽可能的降低前端开发的门槛,是一个灵活易用的渐进式双向绑定的MVVM框架。

React的核心思想是声明式渲染和组件化、单向数据流,React既不属于MVC也不属于MVVM架构。

1.数据流渲染

1.vue在渲染数据的时候,是双向绑定
2.react没有数据双向绑定,react是单向数据流

2.使用场景

react:期待构建大型应用程序,期待同时适用与web端和原生app的框架,期待最大的生态系统。

vue:期待模板搭建应用,期待简单和能用就行的东西,期待应用尽可能的小和快。

3.写法

Vue的组件写法是通过template的单文件组件格式。

React的组件写法是JSX+inline style,也就是吧HTML和CSS全部写进JavaScript中。

4.React的diff和Vue的diff算法

vue和react的diff算法都是进行同层次的比较,主要有以下两点不同:

vue对比节点,如果节点元素类型相同,但是className不同,认为是不同类型的元素,会进行删除重建,但是react则会认为是同类型的节点,只会修改节点属性。
vue的列表比对采用的是首尾指针法,而react采用的是从左到右依次比对的方式,当一个集合只是把最后一个节点移动到了第一个,react会把前面的节点依次移动,而vue只会把最后一个节点移动到最后一个,从这点上来说vue的对比方式更加高效。

你可能感兴趣的:(前端,vue.js,react.js,前端)