首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
讲讲 Vue3 响应式系统中的依赖收集与触发(effect、
[问答题]
讲讲 Vue3 响应式系统中的依赖收集与触发(effect、scheduler)。
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(1)
分享
纠错
2个回答
添加回答
0
rr超级牛牛
vue3响应式系统通过effect自动追踪其内部依赖的响应式数据,并且在数据变化的时候用trigger通知effect重新执行。schedulter做为调度器,可以控制effect执行的时机和方式如批量修改数据,当effect运行并且读取数据,数据的getter就会调用track建立当前数据-运行effect之间的关系,当响应式数据被修改的时候,setter会调用trigger函数,会根据之前记录的关系,找到所有依赖了这个数据的effect,调度器是创建effect可选的一个配置项,当effect配置了scheduler,不会直接执行该effect,而是改为执行这个schedule函数,这个调度去会将多个同步数据变更所触发的更新推进一个微任务队列,在当前同步任务完毕后执行一次更新,避免不必要的重复渲染。effect的track和trigger构成了响应式的自动联动机制,而chedule是这个机制的智能指挥中心。
发表于 2025-11-06 09:18:49
回复(0)
0
安吉拉娜娜
vue3响应式系统通过effect自动追踪内部依赖的响应式数据,在数据变化时触发trigger通知effect重新执行,schedule调度器则是可以去控制effect的执行时机和方式(批量更新),是高性能的关键。 1、依赖收集 (getter会调用 track 函数) 2、依赖触发(setter会调用trigger函数) 3、调度器(1、批量异步更新,多个同步的数据变更触发的effect推进一个微任务队列,统一执行一次,减少不必要的重复渲染;2、控制执行时机watch可以配置flush:'post'就是通过调度器实现的,可以决定毁掉函数实在dom更新前还是更新后执行)
发表于 2025-11-04 23:21:50
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
来自:
Vue-牛客面经八股
难度:
2条回答
1收藏
69浏览
热门推荐
相关试题
权限路由的动态生成与菜单联动。
评论
(0)
来自
Vue-牛客面经八股
如何在 Vue 中安全地操作 DO...
评论
(0)
来自
Vue-牛客面经八股
组件为何要加唯一 key?对 Di...
评论
(0)
来自
Vue-牛客面经八股
路由懒加载与按需加载如何配置,为什...
评论
(0)
来自
Vue-牛客面经八股
v-for 中 key 的作用与不...
评论
(1)
来自
Vue-牛客面经八股
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题