- 对vue和react的理解
共同点
- 都是数据驱动视图,当数据发生改变 数据更新
- 都是利用虚拟DOM 进行diff 比较法,比较更新前后的改变从而重新渲染DOM
- 区别
- vue的特点就是具有封装好的指令,非常的简单,像 v-if,v-show 在开发的时候用起来十分的方便 好上手,学习成本比较低
- react 就没有 像vue 那种封装好的指令,它使用的是jsx语法,然后配合 ES6中的map 和 filter ,for…of,for…ea ch 相对使用起来复杂一点
- vue 中 具有计算属性和watch,计算属性和watch十分好用,他们都是对特定的属性进行监听的,react 就没有,react 只要进行runder了或者setState了,他的子组件就要进行重新渲染,这样就有可能引起了很多组件的不必要渲染,我们在react原生中解决使用的是声明周期中的shouldComponentUpdate来做的
,后来使用的是react提供的现成的 纯组件purcomponent和函数组件中的memo,所以在这一点上vue 非常的占优势,他就是坚挺了数据,数据发生改变就触发,原理就是通过Object.defineProperty(),来进行监听数据这个里面有两个函数 一个get 和set,当我们调用的时候get就会触发,在修改数据的时候set就会触发,所已vue 的原理都是利用了这个方法Object.defineProperty()这一点, - 接着往下就是生命周期,vue 的生命周期相对简单,因为能用到的也不是很多,有挂在前,挂在后,等等,常用的就是挂载候,或者是创建后,还有件事销毁钱,像它的更新阶段的生命周期一般不怎么使用因为有现成的 watch 和计算属性所以能做的事情都是一样的,用watch代替更新阶段的,相对vue的声明周期 react 的生命周期就比较麻烦,react回造成很多不必要的重复渲染,这里的生命周期也分为三个阶段,创建阶段,更新阶段何销毁阶段