面试题答案
一键面试在Solid.js组件中,我们可以使用createEffect
和onCleanup
来处理定时器的设置与取消。createEffect
会在组件挂载时执行,而onCleanup
会在组件销毁时执行。
以下是使用setInterval
的示例代码:
import { createEffect, onCleanup } from 'solid-js';
function TimerComponent() {
createEffect(() => {
const intervalId = setInterval(() => {
console.log('定时器正在运行');
}, 1000);
onCleanup(() => {
clearInterval(intervalId);
});
});
return <div>带有定时器的组件</div>;
}
以下是使用setTimeout
的示例代码:
import { createEffect, onCleanup } from'solid-js';
function TimerComponent() {
createEffect(() => {
const timeoutId = setTimeout(() => {
console.log('定时器触发');
}, 3000);
onCleanup(() => {
clearTimeout(timeoutId);
});
});
return <div>带有定时器的组件</div>;
}
在上述代码中,createEffect
在组件挂载时启动定时器,onCleanup
在组件销毁时清除定时器,从而避免内存泄漏。