Vue 3 相比 Vue 2 引入了哪些核心新特性?在开发方式、性能、响应式原理等方面有哪些显著变化?
考察说明
考察对 Vue 3 核心特性及其相对 Vue 2 变化的掌握程度。
回答思路
- 【回答框架 1】Vue 3 引入了 Composition API,以函数形式组织逻辑,相比 Vue 2 的 Options API 更利于逻辑复用和代码组织,尤其适合复杂组件。
- 【回答框架 2】响应式系统由 Vue 2 的 Object.defineProperty 改为基于 Proxy,能够监听属性新增、删除和数组索引变化,无需 Vue 2 中 Vue.set 等特殊处理。
- 【回答框架 3】性能优化方面:虚拟 DOM 重写,引入静态树提升和静态属性提升,diff 算法优化,减少不必要的更新;同时支持 Tree-shaking,按需引入 API,减小打包体积。
- 【回答框架 4】Vue 3 使用 TypeScript 重写,类型支持更完善;同时引入了 Fragment、Teleport、Suspense 等新特性,增强了模板灵活性和异步渲染能力。
- 【回答框架 5】生命周期与 Vue 2 对应关系:beforeDestroy 改为 beforeUnmount,destroyed 改为 unmounted;同时 Composition API 中通过 onMounted、onUnmounted 等函数注册钩子。
- 【关键点 1】Composition API 与 Options API 的取舍,Vue 3 仍支持 Options API。
- 【关键点 2】Proxy 响应式解决了 Vue 2 无法监听新增属性和数组索引的局限。
- 【关键点 3】性能优化如静态提升、diff 优化、Tree-shaking。
- 【关键点 4】TypeScript 支持更友好。
- 【关键点 5】Fragment、Teleport、Suspense 等新组件特性。
- 【易错点 1】混淆 Vue 2 和 Vue 3 的生命周期钩子名称。
- 【易错点 2】认为所有 API 都必须使用 Composition API,忽略 Options API 仍可用。
- 【易错点 3】误以为 Proxy 完全替代 Object.defineProperty,但 Vue 3 仍可能在某些环境(如 IE)使用降级方案。