学习Vue 3的一些心得

70 阅读1分钟

Vue.js 3.0 中很多功能的设计需要谨遵规范。例如,想要使

用 Proxy 实现完善的响应系统,就必须从 ECMAScript 规范入手,而

Vue.js 的模板解析器则遵从 WHATWG 的相关规范

创建虚拟DOM就是为了更好将虚拟的节点渲染到页面视图中,所以虚拟DOM对象的节点与真实DOM的属性一一照应

命令式更加关注过程,而声明式更加关注结果

命令式在理论上可以做到极致优化,但是用户要承受巨大的心智负担;而声明式能够有效减轻用户的心智负担,但是性能上有一定的牺牲,框架设计者要想办法尽量使性能损耗最小化。

虚拟 DOM 的意义就在于使找出差异的性能消耗最小化

注意注释代码 /#PURE/,其作用就是告诉 rollup.js,对于

foo 函数的调用不会产生副作用,你可以放心地对其进行 Tree-

Shaking(移除不会调用的函数)

组件就是一组 DOM 元素的封装,这组 DOM 元素就是组件要渲染的内容,

我们可以定义一个函数来代表组件,而函数的返回值就代表组件要渲染的内容

组件的实现依赖于渲染器,模板的编译依赖于编译器

渲染器的作用之一就是寻找并且只更新变化的内容

编译器和渲染器之间是存在信息交流的,它们互相配合使得性能进一步提升,而它们之间交流的媒介就是虚拟 DOM 对象