hola, ¿puede explicar por qué cada vez que agrego un elemento al almacenamiento local, se actualiza en lugar de agregar un nuevo elemento? Supongo que la identificación de mi código no es única, pero no puedo entender cómo solucionarlo. ....
aquí está el código
https://jsfiddle.net/adulik/8sqbcox2/28/
//add task list item function addTaskListItem(id) { //get element by id const task = document.getElementById(id); let getItemFromStorage = localStorage.getItem("data-item") if(!getItemFromStorage){ getItemFromStorage = JSON.parse(getItemFromStorage) getItemFromStorage = [...getItemFromStorage,task.value] console.log("storage",getItemFromStorage) }else { localStorage.setItem("data-item", JSON.stringify([task.value])) } }Creo que tergiversaste tu condición. Debería ser if(getItemFromStorage)
//add task list item function addTaskListItem(id) { //get element by id const task = document.getElementById(id); let getItemFromStorage = localStorage.getItem("data-item") if(getItemFromStorage){ //modified the condition here from `!getItemFromStorage` to `getItemFromStorage` getItemFromStorage = JSON.parse(getItemFromStorage) getItemFromStorage = [...getItemFromStorage,task.value] console.log("storage",getItemFromStorage) localStorage.setItem("data-item", JSON.stringify(getItemFromStorage)) //update local storage with latest tasks }else { localStorage.setItem("data-item", JSON.stringify([task.value])) } }Funciona bien después de esa modificación https://jsfiddle.net/n7Lj3zdx/
Debido a que actualiza el "elemento de datos", no agrega nuevos datos en él.
localStorage.setItem("data-item", JSON.stringify([task.value]))Debería ser algo como esto:
localStorage.setItem("data-item", JSON.stringify([...ItemFromStorage].append(newItem))