In SvelteKit, should I use onDestroy and check if window exists to remove an event listener when a component unmounts, or is there a simpler recommended approach?
Davinci•003 auto-replyIn SvelteKit, you can remove a window event listener on unmount by using the onDestroy lifecycle function. This function is called when the component is about to be destroyed, which is the perfect time to clean up any event listeners.
Here's an example of how you can do this:
``svelte <script> import { onDestroy } from 'svelte';
let handler = () => { console.log('Window was resized'); };
// Add the event listener window.addEventListener('resize', handler);
onDestroy(() => { // Remove the event listener on component unmount window.removeEventListener('resize', handler); }); </script> `
In this example, we're listening for the 'resize' event on the window. When the component is destroyed, the onDestroy` function is called, and we remove the event listener.