常见面试题
- vue3中什么时候触发
在vue中,setup函数在组件创建前触发
在vue3中,setup在beforeCreate和created生命周期钩子函数之前执行,因为此时组件还没有完全创建,data和methods还没有初始化好,所以无法在setup函数中使用data和methods
2.vue和react的区别
1)核心思想不同
vue采用渐进式框架,进行数据拦截/代理,对侦测数据的变化更敏感,更精确
react推从函数式编程(纯组件),数据不可变并且是单项数据流,如果需要双向绑定的地方可以手动实现,比如借助onchange和setState
2)vue递归监听data的所有属性,直接修改,当数据改变时,自动找到引用组件重新渲染
react需要setState驱动新的state替换老的state,当数据改变时,以组件为目录,默认全部重新渲染,所以react中会需要shouldComponentUpdata这个生命周期方法来进行控制
3)写法差异
react推荐把html和css全部写进javaScript中
vue推荐html和css JsX写在同一个文件
4)渲染过程
vue可以很快计算出虚拟dom的差异,这是由于它在渲染过程中,会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树
react在应用的状态被改变时,全部子组件都会重新渲染,通过shouldCompontUpdata这个生命周期方法可以进行控制,但vue将此视为默认的优化