淘先锋技术网

首页 1 2 3 4 5 6 7

(1)react和vue的区别

监听数据变化的实现原理不同

数据绑定不同

组件通信不同

框架本质不同


监听数据变化的实现原理不同

Vue通过 getter/setter以及一些函数的劫持,能精确知道数据变化。

React默认是通过比较引用的方式(diff)进行的,如果不优化可能导致大量不必要的DOM的重新渲染。

数据绑定不同

vue是双向绑定, Vue.js 最核心的功能有两个,一是响应式的数据绑定系统,二是组件系统。

组件通信不同

Vue中有三种方式可以实现组件通信:

  • 父组件通过props向子组件传递数据或者回调,虽然可以传递回调,但是我们一般只传数据;

  • 子组件通过事件向父组件发送消息;

  • 通过V2.2.0中新增的provide/inject来实现父组件向子组件注入数据,可以跨越多个层级。

React中也有对应的三种方式:

  • 父组件通过props可以向子组件传递数据或者回调;

  • 可以通过 context 进行跨层级的通信,这其实和 provide/inject 起到的作用差不多。

框架本质不同

Vue本质是MVVM框架,由MVC发展而来;

React是前端组件化框架,由后端组件化发展而来。

(2)react和vue的优缺点

Vue的优缺点:简单、快速、强大、对模块友好,但不支持IE8。

React的优缺点:速度快、夸浏览器兼容、模块化;但学习曲线陡峭,需要深度的知识来构建应用程序。