Sveltejs Academy · Lección

$state: reactividad granular

Declare estado reactivo con la runa $state para actualizar el DOM de forma granular.

Lección 2 de 413 pasos

$state: reactividad granular es una lección gratuita de Sveltejs Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Sveltejs Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Sveltejs Academy incluye 4 lecciones en total.

Declarar estado

Utilice $state(initial) para declarar una variable reactiva.

let count = $state(0);

Reasignar normalmente

Actualice mediante una asignación normal. Svelte vuelve a renderizar la interfaz de usuario dependiente.

count = count + 1;

Objetos y arrays

$state crea proxies profundos con objetos y arrays; las mutaciones son reactivas.

let user = $state({ name: "Ada" });
user.name = "Bea";   // triggers update

Ya no hace falta items = items

Ya no necesita reasignar para activar las actualizaciones: los proxies detectan las mutaciones.

Actualizaciones granulares

Solo se vuelve a renderizar la parte del DOM que utiliza la propiedad modificada.

Valores devueltos por funciones

Puede devolver objetos respaldados por $state desde funciones para reutilizar partes del estado.

function counter() {
  let n = $state(0);
  return {
    get value() { return n; },
    increment() { n++; }
  };
}

Usar en bibliotecas

$state también funciona en archivos .ts/.js si utilizan la extensión .svelte.ts.

Sin seguimiento

Utilice untrack() para leer un valor de estado sin registrar una dependencia.

Estado sin proxy

Para datos grandes no reactivos, utilice $state.raw para omitir el proxy.

Instantánea inmutable

Utilice $state.snapshot(obj) para obtener una copia normal sin proxy.

Comparación con let

$state es el reemplazo moderno de let normal con reactividad implícita.

Comprobación rápida

¿Qué sucede al mutar un objeto $state?

Resumen

$state crea variables reactivas granulares, incluidos objetos y arrays con proxies profundos.

Gratis para empezar

Aprende HTML con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
41
Lecciones
163

Preguntas frecuentes

¿La lección «$state: reactividad granular» es gratis?

Sí — el texto completo de «$state: reactividad granular» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Sveltejs Academy, actualiza a CoddyKit PRO. El curso de Sveltejs Academy incluye 4 lecciones en total.

¿Qué aprenderé en «$state: reactividad granular»?

Declare estado reactivo con la runa $state para actualizar el DOM de forma granular. Practicas Sveltejs Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Sveltejs Academy?

No se requiere experiencia previa. Sveltejs Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «$state: reactividad granular»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Sveltejs Academy?

Sí. Cada lección de Sveltejs Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Por qué las runas: más allá de la magia del compilador
  2. $state: reactividad granular
  3. $derived: valores calculados declarativos
  4. $effect: efectos secundarios
← Volver a Sveltejs Academy