Mi almacenamiento local funciona correctamente, pero el único problema que encontré es cuando intento agregar un nuevo valor después de actualizar una página, los valores almacenados anteriormente se borran. Creo que puede ser porque estoy usando la misma clave.
I tried this localStorage.setItem("name_"+new Date().getTime(), JSON.stringify(favs))pero no ayudó.
Esta es mi función para agregar un valor y almacenarlo en localstorage
el valor es una cadena de una matriz
const favs []; function addValue(e) { if (e.target.value !== "") { if (!favs.includes(e.target.value)) { favs.push(e.target.value); localStorage.setItem("name", JSON.stringify(favs)); console.log(favs); document.getElementById("favsarray").innerHTML = favs } } }Cada vez que vuelve a cargar la página, está reiniciando favoritos en lugar de cargarlo desde localStorage, por lo que lo sobrescribe cuando guarda el primer valor. Lo que debe hacer es obtener el valor de localStorage primero y luego enviar el nuevo valor. Puede hacer esto en la carga de la página o cuando intenta enviar el valor a localStorage por primera vez, así:
let favs = []; function addValue(e) { if (e.target.value !== "") { if (favs === []) { favs = JSON.parse(localStorage.getItem("name")); } if (!favs.includes(e.target.value)) { favs.push(e.target.value); localStorage.setItem("name", JSON.stringify(favs)); console.log(favs); document.getElementById("favsarray").innerHTML = favs } } }