|
|
668ecda610
|
refactor(reactivity): 重构响应式系统依赖收集机制
- 将依赖管理逻辑分离到独立的dep模块
- 创建Dep类型定义和createDep工厂函数
- 修改KeyToDepMap类型以使用Dep集合替代单个ReactiveEffect
- 添加trackEffects函数用于统一跟踪依赖
- 实现triggerEffects函数用于批量触发依赖
- 增加triggerEffect函数用于触发单个依赖
- 在effect运行时添加注释说明首次getter触发
- 添加HTML示例文件验证多依赖收集功能
|
2026-02-04 23:25:32 +08:00 |
|
|
|
0850e05bd1
|
feat(effects): 实现响应式依赖收集和触发机制
- 创建targetMap WeakMap用于存储响应式对象及其依赖映射关系
- 实现track函数用于收集依赖并建立target-key-effect的映射
- 实现trigger函数用于触发指定key的依赖更新
- 在track中通过activeEffect判断是否需要收集依赖
- 添加详细的JSDoc注释说明参数和功能
- 示例页面中添加定时器验证响应式更新效果
|
2026-02-04 22:19:55 +08:00 |
|
|
|
5a24b61edf
|
feat(core): 实现响应性系统的核心功能
- 添加 effect 函数用于创建响应性副作用
- 实现 ReactiveEffect 类来管理响应性执行
- 添加 track 函数用于依赖收集
- 添加 trigger 函数用于触发依赖更新
- 在 baseHandlers 中实现 Proxy 的 get 和 set 拦截器
- 将 effect 导出到 vue 包的入口文件
- 添加 dev 脚本用于监听构建
- 更新示例文件展示响应性功能的使用
- 修复 README.md 中代码块格式问题
|
2026-02-03 22:18:21 +08:00 |
|
dj
|
d3fea3f244
|
feat(reactivity): 实现响应式系统基础功能
- 新增 baseHandlers.ts 文件,定义响应性 handler
- 在 reactivity 模块中导出 reactive 函数
- 将 vue 主入口改为导出 reactive,移除测试代码
- 添加 reactive.html 示例文件用于测试响应式功能
- 实现 reactive 函数,支持创建复杂数据类型的响应式对象
- 使用 WeakMap 缓存代理对象,避免重复代理
|
2026-02-03 18:14:33 +08:00 |
|