首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
我是日安
掘友等级
前端
Better late than never.
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
我是日安
前端
·
7小时前
关注
从零到一打造 Vue3 响应式系统 Day 29 - readonly:数据保护实现
在开始 readonly 之前,我们先补充一下 Proxy 的知识: Proxy Proxy 是实现 reactive、readonly 等功能的核心。它会在目标对象前架设...
9
1
分享
我是日安
前端
·
2天前
关注
从零到一打造 Vue3 响应式系统 Day 28 - shallowRef、shallowReactive
ref 与 reactive 都属于深层响应 (deep) API。它们会递归地将内部所有嵌套对象都转换为响应式代理。在多数情况下这非常方便,但当处理大型数据结构时,这种深...
3
评论
分享
我是日安
前端
·
3天前
关注
从零到一打造 Vue3 响应式系统 Day 27 - toRef、toRefs、ProxyRef、unref
在响应式系统中,reactive 能够将一个对象转换为深层的响应式对象,但是在开发过程中,我们时常会需要用到解构赋值,这时候会导致响应性丢失。 问题解析 执行这段代码,你会...
2
1
分享
我是日安
前端
·
6天前
关注
从零到一打造 Vue3 响应式系统 Day 26 - 数组长度变更处理
在我们构建响应式系统的过程中,虽然对于原生 JavaScript 对象的处理已经相当完善,但数组 (Array) 与普通对象的属性不同,数组的 length 属性与其数值索...
5
评论
分享
我是日安
前端
·
14天前
关注
从零到一打造 Vue3 响应式系统 Day 25 - Watch:清理 SideEffect
watch 的一个核心用途,是在响应式数据发生变化时执行 副作用(Side Effect)。 然而,当副作用是异步的或需要手动清理时,就会出现一个常见问题: 如果监听的数据...
12
评论
分享
我是日安
前端
·
20天前
关注
从零到一打造 Vue3 响应式系统 Day 24 - Watch:Options
Watch 常用的选项有: immediate:初始化立即执行一次 deep:深度监听 once:只执行一次,执行后自动停止监听 我们先写一个函数,接受三个参数,默认值是空...
2
评论
分享
我是日安
前端
·
21天前
关注
从零到一打造 Vue3 响应式系统 Day 23 - Watch:基础实现
watch 是 Vue 中非常重要的一个 API,它允许开发者在响应式数据发生变化时,执行特定的副作用(side effects)。这些副作用可以是异步行为(例如发起请求)...
5
1
分享
我是日安
前端
·
22天前
关注
从零到一打造 Vue3 响应式系统 Day 22 - Computed:缓存机制实现
在上一篇文章中,我们提到将通过「缓存」机制来解决 computed 在访问时重复执行的问题。 在 Vue 3 的源码里,computed 是靠一个「脏值标记(dirty f...
3
2
分享
我是日安
前端
·
23天前
关注
从零到一打造 Vue3 响应式系统 Day 21 - Computed:即时更新基础实现
今天我们要在保持既有链表架构不变的前提下,实现 computed 的惰性计算 + 缓存(dirty 旗标)与调度逻辑。 示例演示 先看官方代码的效果: 可以看到控制台会先输...
5
3
分享
我是日安
前端
·
23天前
关注
从零到一打造 Vue3 响应式系统 Day 20 - Reactive:reactive 极端案例
在完成 reactive 的基本实现之后,接下来会遇到几种常见且必须处理的情况: 原始对象传入 Reactive 对象 Reactive 对象再次传入 Reactive 对...
9
6
分享
我是日安
前端
·
25天前
关注
从零到一打造 Vue3 响应式系统 Day 19 - Reactive:reactive 的基础实现
上一次我们提到: 每个对象的每个属性都需要自己的 Dep。 如何建立 target.a → Dep 的对应关系? 如何在不污染原始对象的情况下存储这个关系? 我们可以先来做...
4
评论
分享
我是日安
前端
·
26天前
关注
从零到一打造 Vue3 响应式系统 Day 18 - Reactive:深入 Proxy 的设计思路
在之前的文章中,我们已经完成了 ref 的实现,它能将原始值包装成响应式对象。现在,我们要接着完成响应式系统核心的另一部分:reactive 函数。我们的目标是接收一个完整...
3
评论
分享
我是日安
前端
·
27天前
关注
从零到一打造 Vue3 响应式系统 Day 17 - 性能处理:无限循环
在打造响应式系统时,一个容易遇到的状况是,effect 在执行期间同时“读取”又“写入”同一个依赖,这会造成自我触发 (self-trigger)。 effect 为了读值...
9
1
分享
我是日安
前端
·
28天前
关注
零到一打造 Vue3 响应式系统 Day 16 - 性能处理:LinkPool
昨天,我们完成了“依赖清理”机制,让 effect 能够正确处理动态变化的依赖关系。然而,这也带来了一个新的性能问题:当依赖频繁变化时,系统需要不断地创建和销毁 Link ...
11
1
分享
我是日安
赞了这篇文章
前端双越老师
www.huashuiAI.com
·
2月前
关注
为何前端圈现在不关注源码了?
大家好,我是双越老师,也是 wangEditor 作者。 大家有没有发现一个现象:最近 1-2 年,前端圈不再关注源码了。源码是一种泡沫,随着招聘市场遇冷,现在泡沫破灭了,...
409
140
分享
我是日安
前端
·
29天前
关注
零到一打造 Vue3 响应式系统 Day 15 - Effect:依赖清理实现方案
在实际情况中,effect 函数内部的依赖,常常因为条件分支(比如 if...else)而发生变化,这种情况称为「动态依赖」。 动态依赖会带来一个问题:在某次执行中不再被使...
5
评论
分享
我是日安
前端
·
1月前
关注
零到一打造 Vue3 响应式系统 Day 14 - Effect:依赖清理的场景
在解决了链表节点指数增长的问题后,我们还需要关注依赖的有效性。 effect 的执行路径可能因为条件判断或程序逻辑不同而改变,导致某些依赖在本次执行中已经不再需要。 如果这...
7
1
分享
我是日安
前端
·
1月前
关注
零到一打造 Vue3 响应式系统 Day 13 - Effect:多重依赖之节点复用解决方案
昨天我们了解到,当 effect 函数依赖多个响应式变量时,会再次触发指数级更新。 我们来回顾一下之前的做法: run() 函数首先会将 depsTail 设为 undef...
3
1
分享
我是日安
前端
·
1月前
关注
从零到一打造 Vue3 响应式系统 Day 12 - Effect :多重依赖之指数触发重现
昨天我们解决了单一依赖所导致的指数增长问题。然而,在真实的开发场景中,一个 effect 函数往往需要依赖多个响应式变量。现在我们试着新增多个依赖,在示例中加入第二个响应式...
5
1
分享
我是日安
前端
·
1月前
关注
从零到一打造 Vue3 响应式系统 Day 11 - Effect:Link 节点的复用实现
昨天我们发现了 Effect 的问题:当 effect 被重复触发时,它会不断地重新收集依赖,导致依赖链表指数级增长。 要让 effect 记住它“订阅过谁”,最直接的方法...
5
3
分享
下一页
个人成就
文章被点赞
244
文章被阅读
10,124
掘力值
1,135
关注了
9
关注者
142
收藏集
5
关注标签
4
加入于
2024-11-22