美文网首页
阅读 《vue.js 设计与实现》4.5

阅读 《vue.js 设计与实现》4.5

作者: alue | 来源:发表于2022-08-10 22:23 被阅读0次

嵌套的 effect 与 effect 栈

原先用全局变量 activeEffect 来存储副作用, 内层的 effect 改变 activeEffect 之后,没有恢复的能力。所以需要进一步优化数据结构。

这里新增一个栈结构,来支持副作用的嵌套行为。随着副作用函数的执行,维护栈入栈出,并让全局变量activeEffect始终指向栈顶。这样,全局变量activeEffect具备恢复能力,也就具备了支持嵌套的能力。

总结

栈这种数据结构,特别适合在函数切换时保存执行上下文。

相关文章

  • 阅读 《vue.js 设计与实现》4.5

    嵌套的 effect 与 effect 栈 原先用全局变量 activeEffect 来存储副作用, 内层的 ef...

  • 阅读 《vue.js 设计与实现》

    这本书正好适合现在的我阅读,因此每天抽时间倍加感恩的学习,这里简要的记录一下收获。 响应式原理初探 我们可以对 d...

  • 阅读 《vue.js 设计与实现》4.4

    存在问题 - 分支切换 有时候,虽然effect读取了data的某个属性,但实际上,这个读取是没有副作用的。例如,...

  • vue.js 设计与实现(二)

    第二章,vue设计与实现总结: tree-shaking机制:可以处理因框架因警告信息过大,而影响框架的体积,利用...

  • vue.js 设计与实现(三)

    vue框架是一个声明式框架,我们可以用模板的方式声明UI,也可以使用虚拟DOM来描述UI,虚拟DOM比模板更灵活,...

  • vue.js 设计与实现(一)

    vue框架设计的缘由:1、在框架的设计中,更希望采用声明式代码提供给用户,声明式代码更注重结果,用户只需书写框架规...

  • vue.js设计与实现(阅读)-五(如何代理Object)

    理解proxy vue3是基于proxy代理实现的响应,那么什么事proxy代理,简单的说就是使用proxy可以实...

  • 捕捉儿童敏感期8

    书写敏感期(3.5~4.5岁)、阅读敏感期(4.5~5.5岁) 孩子的书写能力与阅读能力虽然较迟,但如果孩子在语言...

  • vue.js源码学习笔记

    参考:vue.js官网Vue.js 源码学习笔记Vue2.0源代码阅读 文件结构梳理 整体目录 源代码实现目录 模...

  • Redis 设计与实现

    《Redis设计与实现》的在线阅读版http://redisbook.com/index.html

网友评论

      本文标题:阅读 《vue.js 设计与实现》4.5

      本文链接:https://www.haomeiwen.com/subject/argtgrtx.html