当前位置: 首页 > 知识库问答 >
问题:

前端 - vue renderTracked和renderTriggered有什么使用场景和用法?

颜修为
2023-11-23

vue renderTracked和renderTriggered有什么使用场景和用法?
https://cn.vuejs.org/api/options-lifecycle.html#rendertracked

具体来说,比如:
type DebuggerEvent = {
effect: ReactiveEffect
target: object
type: TrackOpTypes / 'get' | 'has' | 'iterate' /
key: any
}
type DebuggerEvent = {
effect: ReactiveEffect
target: object
type: TriggerOpTypes / 'set' | 'add' | 'delete' | 'clear' /
key: any
newValue?: any
oldValue?: any
oldTarget?: Map<any, any> | Set<any>
}

get has iterate set add delete clear分别是什么意思
oldTarget是什么意思

共有2个答案

赫连实
2023-11-23

image.png

然后得到答案:

image.png

须捷
2023-11-23

renderTrackedrenderTriggered 是 Vue.js 中生命周期钩子的函数,它们用于跟踪和触发渲染相关的操作。

  • renderTracked:该钩子在每次渲染过程中被跟踪。它应该返回一个对象,该对象包含一个或多个可以被用于优化渲染性能的属性。如果返回的对象发生变化,Vue 将停止追踪。
  • renderTriggered:该钩子在每次渲染过程中被触发。它应该返回一个对象,该对象包含一个或多个可以被用于优化渲染性能的属性。如果返回的对象发生变化,Vue 将重新触发渲染。

这两个钩子的使用场景如下:

  • 当你在组件内部使用复杂的计算或者处理大量数据时,可以考虑使用 renderTrackedrenderTriggered 来优化渲染性能。如果这些操作的结果在渲染过程中发生变化,你可以使用这两个钩子来通知 Vue 进行相应的优化。
  • 如果你在组件中使用了第三方库或者插件,这些库或者插件可能会在渲染过程中产生副作用。在这种情况下,你可以使用 renderTrackedrenderTriggered 来跟踪和触发这些副作用的产生,从而更好地控制渲染过程。

使用这两个钩子的方法如下:

  • 在组件的选项中使用 renderTrackedrenderTriggered 钩子,并返回需要优化的属性对象。
  • 在返回的属性对象中,你可以包含任何有效的 JavaScript 对象,例如数字、字符串、数组等。只要这些属性的值在渲染过程中发生变化,Vue 就会自动进行优化。

需要注意的是,renderTrackedrenderTriggered 钩子的返回值必须是对象类型,否则将无法正常工作。此外,这两个钩子的使用应该谨慎,因为过度使用它们可能会导致代码难以理解和维护。

 类似资料:
  • 本文向大家介绍vue和react有什么不同?使用场景分别是什么?相关面试题,主要包含被问及vue和react有什么不同?使用场景分别是什么?时的应答技巧和注意事项,需要的朋友参考一下 楼上说了等于没说,废柴,还是我来说几句吧。 首先你得说说相同点,两个都是MVVM框架,数据驱动视图,无争议。如果说不同,那可能分为以下这么几点: 1、vue是完整一套由官方维护的框架,核心库主要有由尤雨溪大神独自维护

  • 本文向大家介绍vue中mixins有什么使用场景?相关面试题,主要包含被问及vue中mixins有什么使用场景?时的应答技巧和注意事项,需要的朋友参考一下 一般一些有重复方法的组件,可以考虑抽一个mixin。 或者是比如一些页面权限控制的内容,也可以考虑抽一个mixin

  • 本文向大家介绍AudioContext有什么应用场景?相关面试题,主要包含被问及AudioContext有什么应用场景?时的应答技巧和注意事项,需要的朋友参考一下 AudioContext实例有createAnalyzer(),可以实现音频可视化,还有一个gainNode,可以实现输入(MediaStream or HTMLMediaElement)音量的range调整

  • 本文向大家介绍v-show和v-if有什么区别?使用场景分别是什么?相关面试题,主要包含被问及v-show和v-if有什么区别?使用场景分别是什么?时的应答技巧和注意事项,需要的朋友参考一下 区别:v-if 不渲染 DOM,v-show 会渲染 DOM v-show 使用场景: 预渲染需求 需要频繁切换显示状态

  • 本文向大家介绍Proxy是什么,有什么应用场景?相关面试题,主要包含被问及Proxy是什么,有什么应用场景?时的应答技巧和注意事项,需要的朋友参考一下 Proxy做数据劫持用的,和Object.defineProperty类似 可以直接监听对象,而非其属性 不过功能更强大,能监听数组,包含get, set, has, defineProperty, has, deleteProperty等十三个强

  • 本文向大家介绍Reflect是什么,有什么应用场景?相关面试题,主要包含被问及Reflect是什么,有什么应用场景?时的应答技巧和注意事项,需要的朋友参考一下 1.将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。 修改某些Object方法的返回结果,让其变得更合理。比如,Object.defineProperty(obj,