## react和vue的区别

 
react 和 vue对比,选型问题: 1.( 切入点 dom操作)都有一个特点,不进行dom操作就能操作页面了,原生开发中dom操作是昂贵的,改变页面就必须操作dom,vue和react都使用虚拟dom实现的。
#### 相同点
1. 都支持服务端渲染;
2. 都使用虚拟DOM来实现
3. 都是组件化开发,通过props进行父子组件数据传递,都实现了webComponent规范
4. vue react都属于渐进式框架,其他的路由和状态管理都是 和框架分离的组件
5. 都属于数据驱动视图
6. 都支持native方案 比如react native weex等
#### 不同点:
1. react组件渲染功能都是使用JSX ,vue使用template
在性能方面,当我们考虑重新渲染功能。当组件的状态发生变化时,React的机制会触发整个组件树的重新呈现,并且由于 React 有大量的检查机制,能让它提供许多有用的警告和错误提示信息,但可能需要使用额外的属性来避免不必要地重新渲染子组件。虽然Vue的重新渲染功能是开箱即用的,但Vue提供了优化的重新渲染,其中系统在渲染过程中跟踪依赖关系并相应地工作。
React严格上只针对MVC的view层,Vue则是MVVM模式
2. virtual DOM不一样,vue会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树.
3. 而对于React而言,每当应用的状态被改变时,全部组件都会重新渲染,所以react中会需要shouldComponentUpdate这个生命周期函数方法来进行控制
4. 组件写法不一样, React推荐的做法是 JSX + inline style, 也就是把HTML和CSS全都写进JavaScript了,即'all in js';
5. Vue推荐的做法是webpack+vue-loader的单文件组件格式,即html,css,jd写在同一个文件;
6. 数据绑定: vue实现了数据的双向绑定,react数据流动是单向的
7. state对象在react应用中不可变的,需要使用setState方法更新状态;
8. 在vue中,state对象不是必须的,数据由data属性在vue对象中管理
posted @ 2023-03-18 19:48  大桥默默学  阅读(16)  评论(0编辑  收藏  举报