Contenido del curso
Reactividad a profundidad
- 6

Qué es la reactividad en Solid
05:15 min - 7

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

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

Cómo createEffect conecta signals y efectos
08:50 min - 10

Señales derivadas sin nuevas primitivas
04:40 min - 11

createMemo para evitar renderizados innecesarios
07:26 min - 12

Cómo Solid convierte JSX al DOM real
03:53 min
Renderizado en Solid
Reactividad en Listas
Componentes
Recursos
Resumen
¿Cómo gestionar eventos en listas HTML?
En nuestras aplicaciones web, el manejo de eventos es crucial para añadir interactividad a nuestra lista de elementos HTML. Aprenderemos a implementar funcionalidades como eliminar, agregar y editar elementos, utilizando eventos y funciones específicas. A través del uso inteligente de los signals y atributos como onClick y onDoubleClick, optimizaremos la experiencia del usuario mediante la reactividad.
¿Cómo eliminar elementos de una lista?
Para mejorar la gestión de listas HTML, implementar una funcionalidad que permita a los usuarios eliminar elementos es esencial. Este proceso se realiza mediante una función conocida como removeTodo.
- Crear una copia de la lista existente: Es necesario clonar la lista actual, ya que los valores dentro de los signals no se pueden modificar directamente.
- Usar
splicepara eliminar elementos: Esta función permite eliminar el elemento en un índice específico de la lista clonada. - Actualizar la lista utilizando
setTodos: Al finalizar, se actualiza con la nueva copia sin el elemento eliminado.
Código de ejemplo para eliminar un elemento:
function removeTodo(index) { const newTodos = [...todos()]; newTodos.splice(index, 1); setTodos(newTodos); }
¿Cómo agregar elementos a la lista?
La habilidad de añadir elementos es un aspecto clave de cualquier aplicación interactiva. Para lograrlo, seguimos estos pasos:
- Configurar un nuevo signal: Creamos un
newItemque almacenará el valor del input. - Actualizar el valor con el evento
input: Utilizamos el atributovalueenlazado al signalnewItemy un eventoinputpara monitorear los cambios en el input.
Código de ejemplo para agregar un elemento:
function addToDo() { if (newItem()) { setTodos([...todos(), newItem()]); setNewItem(''); } }
¿Cómo editar elementos en la lista?
Solid ofrece eventos personalizados como onDoubleClick, lo que facilita la edición directa de elementos.
- Hacer que un elemento sea editable: Al detectar un doble clic, el elemento se vuelve editable mediante el atributo
contentEditable. - Utilizar el evento
onBlurpara guardar los cambios: Cuando el elemento pierde el foco, actualizamos el valor en el array principal.
Código de ejemplo para editar un elemento:
function handleEdit(event, index) { event.target.setAttribute("contentEditable", "true"); event.target.focus(); } function handleBlur(event, index) { event.target.removeAttribute("contentEditable"); setTodos((todos) => todos.map((todo, idx) => idx === index ? event.target.innerText : todo)); }
¿Qué nos ofrece Solid para eventos?
Solid facilita el trabajo con eventos y ofrece maneras ergonómicas para enriquecer nuestras aplicaciones, como los eventos personalizados. Dominar estos conceptos nos permitirá construir interfaces más dinámicas y reactivas.
Integrar estas funcionalidades hará nuestras listas mucho más intuitivas y atractivas para los usuarios, permitiendo una interacción más fluida y un manejo más natural de los datos. Continúa explorando el mundo de la programación y no te detengas. ¡El potencial de tus aplicaciones es inmenso!