Eventos del ciclo de vida de Svelte

馃搮 22/01/2025

Main Image

C贸mo trabajar con eventos de ciclo de vida en Svelte

Cada componente de Svelte activa varios eventos de ciclo de vida a los que podemos conectarnos para ayudarnos a implementar la funcionalidad que tenemos en mente.

En particular, tenemos

Podemos programar funciones para que se ejecuten cuando Svelte active estos eventos.

No tenemos acceso a ninguno de esos m茅todos de forma predeterminada, pero podemos importarlos desde el sveltepaquete:

script  import { onMount, onDestroy, beforeUpdate, afterUpdate } from 'svelte'/script

Un escenario com煤n onMountes obtener datos de otras fuentes.

A continuaci贸n se muestra un ejemplo de uso de onMount:

script  import { onMount } from 'svelte'  onMount(async () = {    //do something on mount  })/script

onDestroynos permite limpiar datos o detener cualquier operaci贸n que hayamos iniciado en la inicializaci贸n del componente, como temporizadores o funciones peri贸dicas programadas usando setInterval.

Una cosa particular a tener en cuenta es que si devolvemos una funci贸n de onMount, que cumple la misma funcionalidad de onDestroy, se ejecuta cuando se destruye el componente:

script  import { onMount } from 'svelte'  onMount(async () = {    //do something on mount    return () = {      //do something on destroy    }  })/script

A continuaci贸n se muestra un ejemplo pr谩ctico que establece una funci贸n peri贸dica para que se ejecute al montarse y la elimina al destruirse:

script  import { onMount } from 'svelte'  onMount(async () = {    const interval = setInterval(() = {      console.log('hey, just checking!')    }, 1000)    return () = {      clearInterval(interval)    }  })/script



Tal vez te puede interesar:

  1. Introducci贸n a React
  2. Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
  3. C贸mo cambiar el valor de un nodo DOM
  4. C贸mo comprobar si un elemento DOM tiene una clase

Derechos de autor
Si cree que alg煤n contenido infringe derechos de autor o propiedad intelectual, contacte en [email protected].


Copyright notice
If you believe any content infringes copyright or intellectual property rights, please contact [email protected].