首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
全栈技匠
掘友等级
前端
|
公众号-前端技匠
专业markdown工程师
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
159
文章 153
沸点 6
赞
159
返回
|
搜索文章
赞
文章( 153 )
沸点( 6 )
余韵悠扬
做喜欢的事,让喜欢的事有价值。
·
5年前
举报
大妈说得好有道理,我竟无言以对。
收起
查看大图
向左旋转
向右旋转
分享
14
40
黄轶
前端架构师 @zoom.us
·
6年前
举报
今天看了一篇 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
zhangbao90s
公众号 @写代码的宝哥
·
5年前
举报
掘金的头像旋转效果只会持续1分钟(算上1s延迟),共转动666圈。使用 transition 和 transform 属性实现的
收起
查看大图
向左旋转
向右旋转
上班摸鱼
分享
11
15
132
web前端 @心动
·
5年前
举报
1. 为什么 fre 没有提供 context 的封装?
2. 为什么 hooks 不需要状态管理?
fre 和 react 不同,它只提供最核心的功能,context 不是,hooks 的世界里,context 和 状态管理,都是多余的
因为如果需要状态共享,我随手 20 行代码写个发布订阅即可
API 比 context 好太多~(如下图)
Suspense 也是同理,我也可以随意的 throw promise 让 fre 内部捕获,而不是使用别人封装好的组件
展开
收起
查看大图
向左旋转
向右旋转
分享
评论
1
全栈技匠
前端 @公众号-前端技匠
·
5年前
举报
专题1: setInterval有什么弊端?
专题1: setInterval有什么弊端
github.com
分享
评论
2
全栈技匠
前端 @公众号-前端技匠
·
5年前
举报
专题2: 谈谈你对组件的看法
一个组件应该有以下特征:
1. 可组合(Composeable):一个组件易于和其它组件一起使用,或者嵌套在另一个组件内部。如果一个组件内部创建了另一个组件,那么说父组件拥有(own)它创建的子组件,通过这个特性,一个复杂的 UI 可以拆分成多个简单的 UI 组件;
2. 可重用(Reusable):每个组件都是具有独立功能的,它可以被使用在多个 UI 场景;
3. 可维护(Maintainable):每个小的组件仅仅包含自身的逻辑,更容易被理解和维护;
4. 可测试(Testable):因为每个组件都是独立的,那么对于各个组件分别测试显然要比对于整个 UI 进行测试容易的多。
你是如何看待组件的?如果让你写一个组件你会考虑哪些?
展开
专题2: 谈谈你对组件的看法
github.com
分享
评论
2
个人成就
优秀创作者
文章被点赞
3,751
文章被阅读
161,855
掘力值
11,389
关注了
161
关注者
3,606
收藏集
3
关注标签
27
加入于
2018-08-30