¿Cómo podemos guardar y retener objetos de almacenamiento local en lugar de crear múltiples funciones? El primer objeto localStorage se reemplaza con el nuevo guardado. Entonces, para evitar eso, he creado una nueva función llamada saveLocalStorageDataTwo que está funcionando. Pero, ¿cómo podemos evitar crear múltiples funciones para guardar datos en localStorage? Hay alguna manera ? ¿Algunos podrían aconsejarme?
/* almacenamiento local.js */
let localStorageData = {}; let localStorageDataTwo = {}; function saveLocalStorageData ({autoId, quoteId, taskId }) { localStorageData = { autoId: autoId, quoteId: quoteId, taskId: taskId, } return localStorageData } function saveLocalStorageDataTwo ({data}){ localStorageDataTwo = { data : data, } return localStorageDataTwo } export { saveLocalStorageData, saveLocalStorageDataTwo };// Guardando en almacenamiento local:
let localData = require("../../support/localStorage"); const data = "Some Data 260-255" const localStorageData = localData.saveLocalStorageData({ autoId }); window.localStorage.setItem('localStorageData ', JSON.stringify(localStorageData ));{autoId, quoteId, taskId} solo pasa cualquier data arbitrario.saveLocalStorageData si eso no es realmente lo que hace esa función.En cambio:
const LS = { set(key, data) { localStorage[key] = JSON.stringify(data); }, get(key) { return JSON.parse(localStorage[key]); }, }; // export { LS }; // import { LS } from "./localstorage.js" // Example saving multiple data in different LS keys LS.set("one", {autoId: 1, quoteId: 2, taskId: 3}); LS.set("two", {autoId: 7}); // Example saving Object, and later update one property value const data = {a: 1, b: 2, c: 3}; LS.set("single", data); // Save LS.set("single", {...LS.get("single"), c: 99999}); // Update console.log(LS.get("single")); // {a:1, b:2, c:99999} // Example saving multiple data into a single Array: LS.set("arr", []); // Save wrapper Array LS.set("arr", LS.get("arr").concat({a: 1, b: 2})); LS.set("arr", LS.get("arr").concat({e: 7, f: 9})); console.log(LS.get("arr")); // [{"a":1,"b":2}, {"e":7,"f":9}]o en el último ejemplo, en lugar de un Array, podría haber usado un Object. Todo depende de las necesidades.