Skip to content
On this page

Vue 和 React 的区别

Vue

  1. 模板化

.vue文件的模板化语法,让我们在template、script、style标签中按照规定好的语法编写即可。这使得vue更加简洁易懂且容易上手,也比较适合团队的协作。

  1. 指令

vue提供了很多的原生指令例如v-for/v-if/v-show等等,还可以通过自定义指令的方式来创建特定功能的指令,从而用于实际开发中。通过指令可以提升代码的复用性,且代码更加的简洁易懂。

  1. 双向绑定

数据的变化可以自动反应在视图上,视图的变化也可以自动更新数据。通过vue的v-model指令来实现双向数据绑定。

  1. 响应式原理

vue通过数据劫持+依赖收集的方式实现数据的响应。数据劫持的过程vue2主要是使用Object.defineProperty,vue3使用ES6的proxy。

React

  1. JSX

JSX是javascript的一种扩展语法,可以将html和js结合起来进行编写。可以通过JSX的方式更加灵活的控制视图(比如同样的功能在vue中需要一直进行v-if/v-else-if/v-else,看起来就变得很复杂)。

  1. 数据绑定

react的数据绑定是单向的,即从数据到视图。开发过程中需要手动控制视图中的状态,来更新数据值。这可能会使得代码的复杂度增加。

  1. 响应式原理

React主要是通过setState()方法来更新状态,状态更新之后,组件也会重新渲染。