vue和react的区别

vue和react的区别:

一.定位:两者都是UI层的框架,vue是数据响应式的框架;

二.vue使用的语法是template,react使用的语法是JSX;

三.vue3.0推出了hooks:composition api(把零散各个的data和methods重复组合),react中有hooks;

四.UI更新原理:

vue是一个以数据响应式为核心的UI框架,它的核心思想是把所有数据放在一个对象里,你去操作这个对象,这个对象就会改变这个数据,监听这个改变,去改变这个UI;

react是指用一个函数表示一个组件,你把数据放进去,它就会把数据渲染到组件里面,我们在放数据的时候要做到不可变,如果你要更新,你不是改变之前的那个数据,而是新生成一个跟之前不一样的数据,这个数据塞到这个函数里面,函数会得到一个新的UI,这个新的UI跟之前的UI做一个dom-diff ,页面只更新变化的部分,这才是react的思想;

vue 的dom-diff 不是为了解决UI问题,从vue的角度来看,数据变了,只需要改变数据相关的UI,不需要diff,但是react需要diff,因为它是两个不同的data,它需要diff一下,才知道哪里变了;

五.vue中有keep-alive:路由切换会帮你把数据保存,如保存滚动条的高度,切换回来,仍在原来的位置;react中没有keep-alive,路由切换,你需要手动保存数据,不保存,切换回来数据就没有了,如路由切换回来就回到了顶端;

六.社区文化不同:vue把所有主要的功能都提供了,如vuex,vue-router;react提倡自己去找库,如redux,react-router;

你可能感兴趣的:(vue和react的区别)