首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
McTao
掘友等级
前端工程师
|
美团
写写码,陪陪娃,务必笑哈哈
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
121
文章 118
沸点 3
赞
121
返回
|
搜索文章
赞
文章( 118 )
沸点( 3 )
黄轶
前端架构师 @zoom.us
·
5年前
举报
今天看了一篇 Vue.js 3.0 新特性的译文,文中提到 “在当前的 Vue 版本中,当父组件重新渲染时,其子组件也必须重新渲染。 使用 Vue 3 ,可以单独重新渲染父组件和子组件”。
这句话是不严谨的,非常容易产生误导,我觉得有必要说明一下: 2.0 组件的重新渲染就是组件粒度的,除非修改的数据是子组件的 props,才会触发子组件的重新渲染。
那么尤大的 PPT 中提到的场景是 Optimized Slots Generation。在 Vue.js 2.0 中,当父组件数据更新的时候执行会触发重新渲染,最终执行父组件的 patch,在 patch 过程中,遇到组件 vnode,会执行新旧 vnode 的 prepatch,这个过程又会执行 updateChildComponent, 这个时候如果这个子组件 vnode 如果有孩子(插槽内容)的时候,会重新 resolve slot 并执行一次子组件的 forceUpdate(),这种情况下才会触发子组件的重新渲染。而尤大所说的优化应该就是特指插槽的场景。
如果说任何场景下父组件的重新渲染就会触发子组件的数据渲染,那 Vue 的性能得有多差,记住 Vue 2.0 的重新渲染就是组件粒度的。
另外关于插槽的源码实现我的《Vue.js 技术揭秘》电子书有分析,关于插槽数据的更新实现我的源码课程视频里也有提到。所以你对源码感兴趣,可以戳下方电子书链接,电子书是开源免费的。视频课程是收费的,你可以按需购买学习,但请务必去官方购买正版喔~
展开
Vue.js 技术揭秘 | Vue.js 技术揭秘
ustbhuangyi.github.io
分享
7
55
梅楼封
封号限流、社区巡警 @掘金
·
6年前
举报
【滴滴外卖开始招聘骑手,无锡或成为首个上线城市】今天,美团打车刚刚曝出3月16日在北京、上海等七个城市上线,滴滴外卖就确认了招聘骑手一事,条件为:18-55岁,有健康证,无纹身。 据媒体报道,滴滴外卖上线的首个城市可能是无锡。
收起
查看大图
向左旋转
向右旋转
分享
8
18
阮一峰推特更新
6年前
举报
那么多人不会配置 Webpack,谷歌实在看不下去了,推出了官方教程,教你怎么写,才能减小构建产物的体积。
t.cn
收起
查看大图
向左旋转
向右旋转
分享
4
70
个人成就
文章被点赞
259
文章被阅读
18,916
掘力值
686
关注了
28
关注者
32
收藏集
9
关注标签
12
加入于
2017-06-19