开发者社区> 问答> 正文

Vue为什么没有类似React中shouldComponentUpdate的生命周期?

Vue为什么没有类似React中shouldComponentUpdate的生命周期?


【精品问答】前端面试手册

【精品问答】前端面试手册之Vue篇

展开
收起
前端问答 2019-11-24 13:31:18 2605 0
2 条回答
写回答
取消 提交回答
  • 强!

    双向绑定直接帮你计算了呀

    2020-01-31 20:32:33
    赞同 展开评论 打赏
  • 前端问答小助手

    考点:Vue的变化侦测原理 前置知识:依赖收集、虚拟DOM、响应式系统


    根本原因是VueReact的变化侦测方式有所不同

    Reactpull的方式侦测变化,当React知道发生变化后,会使用Virtual Dom Diff进行差异检测,但是很多组件实际上是肯定不会发生变化的,这个时候需要用shouldComponentUpdate进行手动操作来减少diff,从而提高程序整体的性能;

    Vuepull+push的方式侦测变化的,在⼀开始就知道那个组件发生了变化,因此在push的阶段并不需要手动控制diff,而组件内部采用的diff方式实际上是可以引入类似于shouldComponentUpdate相关生命周期的,但是通常合理大小的组件不会有过量的diff,手动优化的价值有限,因此目前Vue并没有考虑引入shouldComponentUpdate这种手动优化的生命周期。

    2019-11-24 15:49:19
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
利用编译将 Vue 组件转成 React 组件 立即下载
React Native 全量化实践 立即下载
React在大型后台管理项目中的工程实践 立即下载