Vue 和 React 的区别
监听数据变得实现原理不同Vue 通过 getter / setter 以及一些函数的劫持,能精确直到数据变化React 默认是通过比较引用的方式( diff )进行的,如果不优化可能导致大量必要的 VDOM 的重新渲染。设计理念不同vue使用的是可变数据,而 React 更强调数据不可变数据流不同Vue 是双向绑定数据流,而 React 是单向数据流组合不同功能方式不同Vue 使用 mixins(
监听数据变得实现原理不同
Vue 通过 getter / setter 以及一些函数的劫持,能精确直到数据变化
React 默认是通过比较引用的方式( diff )进行的,如果不优化可能导致大量必要的 VDOM 的重新渲染。
设计理念不同
vue使用的是可变数据,而 React 更强调数据不可变
数据流不同
Vue 是双向绑定数据流,而 React 是单向数据流
组合不同功能方式不同
Vue 使用 mixins(混合),而 React 使用 Hoc(高阶组件:高阶组件本质上是一个函数,函数内部返回一个类组件)
通信方式不同
Vue中有三种方式可以实现组件通信:父组件通过props向子组件传递数据或者回调,虽然可以传递回调,但是我们一般只传数据;子组件通过事件向父组件发送消息;通过V2.2.0中新增的provide/inject来实现父组件向子组件注入数据,可以跨越多个层级。
React中也有对应的三种方式:父组件通过props可以向子组件传递数据或者回调;可以通过 context 进行跨层级的通信,这其实和 provide/inject 起到的作用差不多。React 本身并不支持自定义事件,而Vue中子组件向父组件传递消息有两种方式:事件和回调函数,但Vue更倾向于使用事件。在React中我们都是使用回调函数的,这可能是他们二者最大的区别。
模板渲染方式的不同
React是通过JSX渲染模板
而Vue是通过一种拓展的HTML语法进行渲染
渲染过程不同
Vue 是边计算边渲染,而 React 是等计算完毕之后在渲染
框架本质不同
Vue本质是MVVM框架,由MVC发展而来。
React是前端组件化框架,由后端组件化发展而来。
更多推荐
所有评论(0)