Appearance
性能与可维护性的权衡 💸💸
命令式和声明式各有缺点 先抛出结论声明式代码性能不如命令式代码的性能
如果我们要将上节 div 文本改成 vue3 我们用命令式代码实现
ts
div.textContent = 'vue3'
因为没有比原生性能更好的代码 所以理论上命令式代码可以做到性能的极致优化 我们明确知道我们需要改变那些属性 但是声明式代码不能做到 他描述的是
ts
// before
<div @click=() => alert('ok')>hello world</div>
// after
<div @click=() => alert('ok')>hello vue3</div>
最终 需要执行的代码 还是会走到 div.textContent = vue3
对于框架来说 我们为了实现最优的性能 需要找出代码前后差异只更新变化的地方 那么我们如果差异消耗浪费性能为 a,命令式浪费性能为b
声明式 浪费的性能 就是 a + b 验证结论
WARNING