C/C++教程

【备战春招】第13天 6-21 什么是HoistStatic和CacheHandler

本文主要是介绍【备战春招】第13天 6-21 什么是HoistStatic和CacheHandler,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

课程名称:前端框架及项目面试 聚焦Vue3/React/Webpack

课程章节:6-21 什么是HoistStatic和CacheHandler

课程讲师: 双越

课程内容:

6-21 什么是HoistStatic和CacheHandler

课程收获:

当使用hoistStatic时,所有 静态的节点都被提升到render方法之外。这意味着,他们只会在应用启动的时候被创建一次,而后随着每次的渲染被不停的复用。cacheHandler 事件监听缓存

//vue3中对PatchFlags的定义描述
export const enum PatchFlags {
  // 动态文本节点
  TEXT = 1,
  // 2 动态class
  CLASS = 1 << 1,
  // 4 动态style
  STYLE = 1 << 2,
  // 8 动态属性,但不好汉class style
  PROPS = 1 << 3,
  // 16 具有动态key属性,当key改变时,需要进行完整的diff
  FULL_PROPS = 1 << 4,
  // 32 带有监听事件的节点
  HYDRATE_EVENTS = 1 << 5,
  // 64 一个不会改变子节点顺序的fragment
  STABLE_FRAGMENT = 1 << 6,
  // 128 带有key的fragment
  KEYED_FRAGMENT = 1 << 7,
  // 256 没有key的fragment
  UNKEYED_FRAGMENT = 1 << 8,
  // 512 一个子节点只会进行非props比较
  NEED_PATCH = 1 << 9,
  // 1024 动态插槽
  DYNAMIC_SLOTS = 1 << 10,
  // 下面是特殊的,即在diff阶段会被跳过的
  // 2048 表示仅因为用户在模板的根级别放置注释而创建的片段,这是一个仅用于开发的标志,因为注释在生产中被剥离
  DEV_ROOT_FRAGMENT = 1 << 11,
  // 静态节点,它的内容永远不会改变,不需要进行diff
  HOISTED = -1,
  // 用来表示一个节点的diff应该结束
  BAIL = -2
}

图片描述

谢谢老师,讲的非常细致,很容易懂。这一节学的是什么是HoistStatic和CacheHandler,为以后的学习打下了基础。
原来vue3能有这么多种性质,以及对vue3有了新的认识,期待后边的学习

这篇关于【备战春招】第13天 6-21 什么是HoistStatic和CacheHandler的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!