Vue3简介
Vue 3 于 2020 年 9 月发布,是 Vue.js 的重大升级版本,主要改进包括性能优化、新特性引入和更好的 TypeScript 支持。
1. Composition API
目的:解决逻辑复用和代码组织问题(替代 Options API 的局限性)。
核心:通过
setup()
函数组织代码,支持逻辑的灵活组合。import { ref, computed } from 'vue';
export default {
setup() {
const count = ref(0);
const double = computed(() => count.value * 2);
const increment = () => count.value++;
return { count, double, increment };
}
};逻辑复用更简单(如使用
useFetch
自定义 Hook)。代码按功能而非选项(data、methods)组织,提升可读性。
2.性能优化:
-
渲染快,虚拟 DOM 重写(优化 diff 算法),静态节点提升(Static Hoisting)和补丁标记(Patch Flags),减少运行时开销。
-
体积小:核心库体积减少约 40%(Tree-shaking 支持,按需引入模块)。
3.更好的 TypeScript 支持:源码使用 TypeScript 重写,提供完整的类型定义,开发体验更友好,IDE 提示更精准。
4. 新内置组件与 API
Teleport:将组件渲染到 DOM 任意位置(如模态框、Toast)。
<teleport to="#modal-container">
<div class="modal">内容</div>
</teleport>Suspense:优雅处理异步组件加载状态。
Fragment:支持多根节点模板。
自定义渲染器:支持非 DOM 环境(如 Canvas、WebGL)。
5.响应式系统升级
Proxy 替代 Object.defineProperty:支持数组和对象的新增/删除属性监听,性能更高,无需递归初始化。
独立的响应式 API:
import { reactive, effect } from 'vue';
const state = reactive({ count: 0 });
effect(() => console.log(state.count)); // 自动追踪依赖