- 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 Stores en Solid para Optimizar Reactividad y Ergonomía
Clase 20 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 podemos mejorar la reactividad en Solid con Stores?
Solid proporciona una herramienta poderosa llamada stores que permite manejar datos complejos como arreglos, objetos, maps y sets de manera más eficiente y ergonómica. Al cambiar nuestra lista de todos de un signal a un store, no solo mejoramos el rendimiento de nuestra aplicación, sino que también simplificamos el desarrollo al tratar directamente con datos proxy.
¿Qué es un store en Solid?
Un store en Solid es una primitiva especial diseñada para manejar datos complejos. A diferencia de los signals, que son funciones, los stores funcionan como proxies de los datos que contienen. Esto significa que puedes interactuar con ellos como lo harías con arreglos u objetos normales, pero con la ventaja de que Solid gestiona la reactividad y optimización de manera interna, minimizando la necesidad de actualizaciones globales en la interfaz.
¿Cómo implementar un store en una lista de todos?
Para utilizar un store en lugar de un signal, comienza importando la primitiva de SolidJS Store. Luego, cambia las funciones y propiedades que dependen del signal para trabajar directamente con el store. Aquí algunos pasos básicos del proceso:
-
Definición del store:
import { createStore } from 'solid-js/store'; const [todos, setTodos] = createStore([]); -
Uso de proxies: Reemplaza las funciones que trataban el array como un signal, ya que ahora
todoses un proxy de un array normal. -
Actualización de la lógica de modificación: Al añadir o modificar elementos en el store, usa el método
setde los stores, que te permite especificar exactamente qué índice y propiedad del array estás modificando:setTodos(index => todos.length, { text: newItem, completed: false });
¿Cómo optimizar el cambio de estado y contenido?
Solid facilita el cambio de estado mediante funciones específicas dentro de los stores. Esto elimina la necesidad de redefinir o clonar el array completo al cambiar un simple estado o propiedad.
-
Cambio de estado de un elemento: Usa un setter para modificar propiedades específicas:
setTodos(index, 'completed', status => !status); -
Edición de contenido: Al editar el texto de un todo, emplea el setter para modificar directamente dentro del array proxy:
setTodos(index, 'text', newText);
¿Cómo se maneja la adición y eliminación de elementos?
Modificar una lista completa es costoso en términos de recursos. Los stores te permiten modificar elementos individuales directamente, lo que es más eficiente.
-
Añadir elementos: Añade un nuevo elemento al final del array sin necesidad de recrear el array entero:
setTodos(todos.length, { text: newItem, completed: false }); -
Eliminar elementos: Usa métodos como
filterpara manejar la eliminación simplificando el código y mejorando el rendimiento:setTodos(todos => todos.filter((_, idx) => idx !== indexToRemove));
¿Qué beneficios ofrece el uso de stores?
- Optimización del rendimiento: Solid optimiza las actualizaciones de interfaz mediante memoización interna y no requiere que actualices toda la lista al modificar un único elemento.
- Simplicidad y ergonomía: Trabajar con un modelo de datos más directo y natural facilita tanto la escritura como la lectura del código.
- Ahorro de recursos: Reduce el uso de memoria y ciclos de procesamiento incrementando la eficiencia de la aplicación.
Dicho todo esto, los stores nos proporcionan una herramienta poderosa para manejar datos complejos, mejorando significativamente la reactividad y optimización en nuestras aplicaciones Solid. Si bien puede requerir un cambio de mentalidad en comparación con el uso de signals, los beneficios en rendimiento y claridad del código son notables.
Continúa explorando esta emocionante tecnología y sigue aprendiendo para perfeccionar tus habilidades de desarrollo en Solid.