Reactividad
En Svelte, la reactividad significa que cuando una variable cambia, la interfaz de usuario se actualiza automáticamente para reflejar ese cambio. No necesitas escribir código extra para manejar estas actualizaciones; Svelte se encarga de eso por ti, simplificando el desarrollo de aplicaciones interactivas.
Eventos
El manejo de eventos en Svelte es esencial para construir aplicaciones interactivas y dinámicas. Este post te guiará a través de las diversas formas en que Svelte maneja eventos, desde eventos de usuario hasta eventos personalizados, proporcionando una base sólida para crear experiencias de usuario envolventes y receptivas.
En Svelte, el manejo de eventos de usuario es intuitivo y directo. Puedes reaccionar a eventos como clics, cambios, y más, de manera fácil y legible. Tan solo tines que hacer uso del atributo on:
Otro ejemplo simeple es el siguiente:
Variables reactivas
Las declaraciones reactivas en Svelte son una parte fundamental de la reactividad en la interfaz de usuario. Permiten que los componentes respondan dinámicamente a los cambios en las variables o expresiones que han sido marcadas como reactivas. Las declaraciones reactivas se crean utilizando el modificador $:
.
Las declaraciones reactivas se inician con
$:
seguido de una expresión o bloque de código.La expresión o bloque de código se evalúa de manera reactiva, lo que significa que cualquier cambio en las variables referenciadas provocará la reevaluación de la expresión.
Svelte realiza el seguimiento automático de las dependencias dentro de las declaraciones reactivas, por lo que no es necesario especificar manualmente qué variables deben ser rastreadas.
Uso basico
Puedes usar declaraciones reactivas en expresiones para calcular valores de manera dinámica basándote en otras variables reactivas.
Además de expresiones simples, puedes usar bloques de código más complejos.
Arrays reactivos
Esto se debe a que Svelte aplica su reactividad mediant la asgignsciones, por lo que si no hay asignacion de un valor a una variable el cambio no se aplciara. Por ejemplo este cambio no se aplicaria:
En cambio si lo hacemos de la ssiguiente manera, el cambio si se aplicarar:
Es decir, para actualizar un array de manera reactiva, se debe crear un nuevo array en lugar de modificar el existente directamente. Esto tambien puedes lograrlo utilizando la función array.concat
o el operador de propagación (...
). Aquí tienes un ejemplo:
En este ejemplo, cada vez que se hace clic en el botón, se agrega un nuevo elemento al array miArray
utilizando el operador de propagación (...
). Esto asegura que se cree un nuevo array, lo que activa la reactividad y actualiza automáticamente la interfaz de usuario.
Objetos reactivos
Al igual que con los arrays, para actualizar un objeto de manera reactiva, debes crear un nuevo objeto en lugar de modificar el existente directamente. Puedes lograr esto utilizando la función Object.assign
o el operador de propagación (...
). Aquí tienes un ejemplo:
En este ejemplo, cada vez que se hace clic en el botón, se actualiza la propiedad edad
del objeto miObjeto
creando un nuevo objeto con el operador de propagación (...
).
Es importante tener en cuenta que estas técnicas de actualización son necesarias para mantener la reactividad en Svelte. Si intentas modificar un array u objeto directamente, Svelte puede no detectar el cambio y no actualizará la interfaz de usuario de manera automática.
Last updated