面试题答案
一键面试onDestroy函数的作用
在Svelte中,onDestroy
函数用于注册一个在组件销毁时执行的清理函数。它允许我们在组件从DOM中移除、不再使用时,执行一些必要的清理操作,比如取消订阅、清除定时器、解绑事件监听器等,以避免内存泄漏等问题。
简单定时器场景示例
<script>
import { onDestroy } from'svelte';
let timer;
let count = 0;
timer = setInterval(() => {
count++;
}, 1000);
onDestroy(() => {
clearInterval(timer);
console.log('定时器已清除');
});
</script>
<p>计数: {count}</p>
在上述示例中,我们创建了一个每秒增加count
值的定时器。当组件被销毁时,onDestroy
注册的函数会被调用,从而清除定时器,防止在组件销毁后定时器仍继续运行,避免潜在的内存泄漏和不必要的计算开销。