常见面试题

134 阅读1分钟

常见面试题

  1. 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将此视为默认的优化