您当前的位置: 首页 > 技术文章 > 前端开发

Vue 和 React 的区别

作者: 时间:2022-06-29阅读数:人阅读

监听数据变得实现原理不同

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

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

设计理念不同

vue使用的是可变数据,而 React 更强调数据不可变

数据流不同

Vue 是双向绑定数据流,而 React 是单向数据流

组合不同功能方式不同

Vue 使用 mixins(混合),而 React 使用 Hoc(高阶组件:高阶组件本质上是一个函数,函数内部返回一个类组件)

通信方式不同

 

Vue 和 React 的区别(图1)

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是前端组件化框架,由后端组件化发展而来。

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:licqi@yunshuaiweb.com

加载中~
如果您对我们的成果表示认同并且觉得对你有所帮助可以给我们捐赠。您的帮助是对我们最大的支持和动力!
捐赠我们
扫码支持 扫码支持
扫码捐赠,你说多少就多少
2
5
10
20
50
自定义
您当前余额:元
支付宝
微信
余额

打开支付宝扫一扫,即可进行扫码捐赠哦

打开微信扫一扫,即可进行扫码捐赠哦

打开QQ钱包扫一扫,即可进行扫码捐赠哦