- 1

Desarrollo Web Avanzado con Solid.js: Reactividad Eficiente
05:14 - 2
Python para Principiantes: Fundamentos y Aplicaciones Básicas
00:01 - 3

Uso de Signals en Solid.js para Datos Reactivos
06:55 - 4

Uso de Create Effects en Solid.js
05:39 - 5

Memos y Signals Derivados en Solid para Optimizar Actualizaciones
06:18 Introducción a SolidJS
Uso de Local Storage para Guardar Estado de Aplicación Web
Clase 25 de 27 • Curso de SolidJS
Contenido del curso
- 6

Reactividad: Conceptos Prácticos y Aplicaciones en Solid
05:15 - 7

Creación de una Librería Reactiva MiniSolid desde Cero
06:46 - 8

Implementación de Signals en Librería Reactiva Solid
07:01 - 9

Creación de Efectos Reactivos en Librerías Web
08:50 - 10

Signals Derivados: Mejora y Optimización en Aplicaciones Reactivas
04:40 - 11

Implementación de `createMemo` en Sistemas Reactivos
07:26 - 12

Renderizado Reactivo en Solid: Uso de DOM Expressions
03:53 Reactividad a profundidad
- 13

Implementación de TodoApp con Solid.js y Tailwind CSS
04:32 - 14

Implementación de Dark Mode con SolidJS y TailwindCSS
05:32 - 15

Renderizado Condicional en Solid: Técnicas y Optimización
04:51 - 16

Renderizado de listas y optimización con SolidJS
13:03 - 17

Manejo de Eventos en Elementos HTML con SolidJS
08:56 Renderizado en Solid
- 22

Creación y Uso de Componentes en Solid para Mejora de Aplicaciones
05:34 - 23

Uso de Props para Comunicación entre Componentes en React
04:56 - 24

Manejo de Eventos y Corrección de Errores en Aplicaciones React
06:52 - 25

Uso de Local Storage para Guardar Estado de Aplicación Web
06:42 - 26

Despliegue de Aplicaciones Web con Netlify y SolidJS
02:17 - 27

Solid: Sistema Reactivo y Desafíos en Desarrollo Web
00:53 Componentes
¿Cómo usar Local Storage para guardar el estado de una aplicación?
Cuando desarrollamos una aplicación web, mantener el estado a través de las sesiones del usuario es crucial para ofrecer una experiencia consistente. Local Storage es una herramienta poderosa que nos permite guardar datos en el navegador. Esto garantiza que, incluso si el usuario cierra o actualiza la página, los cambios persistan. En la clase analizaremos cómo podemos implementar local storage para mejorar nuestra aplicación, asegurándonos de que todas las modificaciones realizadas por el usuario permanezcan intactas.
¿Por qué usar efectos para manejar el Local Storage?
El uso de efectos en JavaScript es fundamental cuando queremos manejar side effects, aquellos cambios que ocurren fuera de la reactividad y del sistema de renderizado de nuestra aplicación. En este caso, los efectos nos permiten reaccionar automáticamente ante cambios en la aplicación y actualizar el local storage de acuerdo con estos cambios. Esta es la estrategia que seguiremos:
-
Crear un efecto (effect):
- Usamos la primitiva
createEffectpara detectar cuando hay cambios en nuestra lista de tareas (todos). - Implementamos
localStorage.setItemdentro del efecto para almacenar una copia del estado de la lista en el local storage.
createEffect(() => { localStorage.setItem('todos', JSON.stringify(todos)); }); - Usamos la primitiva
-
Observación de cambios:
- Los cambios en la lista de tareas desencadenan el efecto, debido a que estas listas funcionan como proxys, con trampas internas.
- Cada modificación se refleja instantáneamente en el local storage.
¿Cómo inicializar la aplicación con datos almacenados?
Para garantizar que nuestra aplicación empiece con los datos que el usuario dejó guardados la última vez, debemos inicializar el estado con la información del local storage:
-
Recuperar datos del Local Storage:
- Usamos
JSON.parsepara convertir los datos almacenados como string en un objeto JavaScript utilizable. - Si no hay datos en el local storage, la aplicación debe caer en valores por defecto.
const todosLocalStorage = JSON.parse(localStorage.getItem('todos')) || []; - Usamos
-
Inicialización del store:
- Al crear el store de la aplicación, utilizamos
todosLocalStorage. - Esto nos asegura que cada vez que el usuario vuelva a la aplicación, los datos previos persistan.
- Al crear el store de la aplicación, utilizamos
¿Cómo recordar la preferencia del modo oscuro?
Guardar la preferencia del modo oscuro es otro aspecto importante, especialmente en términos de experiencia de usuario. Veamos cómo hacerlo:
-
Acceso y almacenamiento del modo:
- Almacenar la preferencia cada vez que el usuario realiza un toggle del modo oscuro.
- Comparamos el string almacenado en local storage con "true" para definir el estado inicial.
const darkMode = localStorage.getItem('darkMode') === 'true'; -
Implementar el efecto de cambio:
- Al igual que con la lista de tareas, crear un efecto ayuda a guardar el estado del modo oscuro.
- Este efecto también se asegura de que el cambio en la clase del
bodyocurra paralelamente al cambio en el almacenamiento.
createEffect(() => { localStorage.setItem('darkMode', darkMode.toString()); }); -
Ejemplo de utilización:
- Cuando el modo oscuro cambia, inmediatamente actualizamos local storage y la interfaz del usuario refleja la elección actual.
Desafíos y mejoras en la aplicación
Finalmente, para aquellos que deseen profundizar en su aprendizaje, se presenta un reto interesante: crear una lista adicional para almacenar solo los elementos marcados como completados. Este ejercicio desafiará tu lógica y consolidará tu entendimiento de temas tratados en el curso. La implementación de dos listas nos invita a utilizar ciclos y a diferenciar señales derivadas. ¡Anímate a probar y continuar aprendiendo mientras estructuras tu aplicación de manera más robusta y dinámica!