Guardado y edición de tareas en local storage con JavaScript
Clase 23 de 27 • Curso de JavaScript: Manipulación del DOM
Contenido del curso
- 6

Atributos y Propiedades en HTML y su Manipulación con JavaScript
07:39 - 7

Modificar texto en HTML con JavaScript
04:50 - 8

Modificar Estilos CSS con JavaScript: Propiedad Style y ClassName
11:30 - 9

Uso de classList para Manipular Clases en Elementos HTML
07:38 - 10

Manipulación del DOM con innerHTML e InsertAdjacentHTML
09:47 - 11

Agregar elementos HTML sin reemplazar contenido existente
05:18 - 12

Creación y Manipulación de Elementos DOM con createElement
13:28 - 13

Eliminar Elementos del DOM con JavaScript: Métodos y Ejemplos
05:43 - 14

Clonación y Reemplazo de Elementos en JavaScript
12:47
- 15

Eventos y Flujo en Programación Web: Capturing y Bubbling
05:03 - 16

Manejo de Eventos en JavaScript: click, mouseOver y mouseOut
11:46 - 17

Manipulación de Eventos en JavaScript para Interacción de Elementos
07:35 - 18

Validación de Formularios con JavaScript: Prevenir Comportamiento por Defecto
10:06 - 19

Delegation Pattern en JavaScript: Mejora de Eventos Click en Listas
09:30
- 20

Creación de un Task Manager con Persistencia usando Local Storage
09:01 - 21

Interactividad en Botones de Tareas: Borrar y Editar en JavaScript
13:37 - 22

Persistencia de Datos con Local Storage en Tareas Web
15:17 - 23

Guardado y edición de tareas en local storage con JavaScript
10:59 - 24

Manejo de Errores en Local Storage para Tareas Dinámicas
03:24 - 25

Cambio de Tema Dinámico y Persistente en Aplicaciones Web
07:18 - 26

Creación de Páginas Web Dinámicas con JavaScript
01:28
¿Cómo almacenar tareas en localStorage usando JavaScript?
El manejo eficiente de datos es crucial en cualquier aplicación moderna. En este caso, exploraremos cómo almacenar y gestionar tareas en el localStorage del navegador usando JavaScript, permitiendo que las modificaciones persistan incluso al refrescar la página. ¿Listo para aprender cómo mantener el estado de tus tareas al usar JavaScript? Vamos a verlo paso a paso.
¿Cómo asegurarse de que las tareas persistan después de actualizar la página?
Comenzamos guardando nuestras tareas en el localStorage. Esto asegura que incluso cuando actualices la página, se mantenga el registro de las tareas ya creadas. Puedes verificar el estado almacenado de las tareas usando el navegador:
-
Accediendo al
localStorage: Puedes ver las tareas guardadas inspeccionando ellocalStoragea través de la consola de desarrollador. -
Estructura del almacenamiento: Las tareas se almacenan en un array bajo una clave específica, como
tasks, para su fácil acceso. -
Retroalimentación Visual: A pesar de poder borrar y editar tareas desde la interfaz de usuario, sin actualizar el
localStorage, estos cambios no son permanentes. Necesitamos abordar esta actualización para mantener la memoria a través de los refrescos de página.
¿Cómo implementar la actualización del localStorage tras editar o borrar tareas?
Para que los cambios sean permanentes al actualizar, necesitamos implementar funciones que reflejen estas modificaciones en el localStorage. Aquí está cómo hacerlo:
Función de actualización de localStorage
La función updateLocalStorage se llama cada vez que una tarea se edita o elimina y no requiere parámetros ya que actúa sobre el estado actual de las tareas.
function updateLocalStorage() {
const taskElements = document.querySelectorAll('#task-list li');
const tasksArray = Array.from(taskElements).map(el => el.firstChild.textContent);
localStorage.setItem('tasks', JSON.stringify(tasksArray));
}
-
Recuperar Contenido Actualizado: Usamos
querySelectorAllpara obtener todos los elementos<li>del contenedor de tareas, convirtiéndolos a un array para manipulación. -
Mapeo y Serialización: Luego, mapeamos estos nodos para recuperar su contenido de texto, logrando un array de tareas actualizadas.
-
Almacenamiento: Finalmente, el array se serializa a un string JSON, almacenándose en el
localStoragebajo la clavetasks.
Automatización con Editar
Integra la función updateLocalStorage dentro del flujo de edición de tareas para asegurar que cada cambio se refleje en el localStorage.
function editTask(taskIndex, newContent) {
// Supongamos que existe la funcionalidad para realizar los cambios en la UI
document.querySelectorAll('#task-list li')[taskIndex].firstChild.textContent = newContent;
updateLocalStorage();
}
¿Por qué es importante convertir NodeLists en arrays?
Al trabajar con un NodeList (la estructura devuelta por querySelectorAll), convertirlo a un array es crucial para aprovechar los métodos de array, como map, que no están disponibles en un NodeList.
-
Flexibilidad de Manipulación: Utilizar
Array.frompermite convertir rápidamente unNodeListen un array, brindando acceso a métodos comomap,filteryreduce. -
Facilidad de Iteración y Mapeo: Una vez en formato de array, iterar y mapear para transformar datos se vuelve sencillo y efectivo.
Consideraciones finales
Utilizar correctamente localStorage, junto con la conversión y manipulación de NodeList, permite gestionar el estado de manera persistente en aplicaciones web. Esto garantiza que las operaciones en la interfaz de usuario, como agregar, editar y eliminar tareas, se reflejen automáticamente en el estado almacenado, llevando la experiencia del usuario a un nuevo nivel de fiabilidad y coherencia. No subestimes la importancia de la capacidad de almacenamiento clave-valor que el localStorage ofrece, ¡es un recurso valioso en el desarrollo web moderno!
¡Continúa explorando y perfeccionando tus habilidades de programación! Cada ajuste y nueva función integrada es un paso más hacia la construcción de aplicaciones más robustas y completas.