Estoy tratando de borrar el almacenamiento local con un botón y un addEventListener. Pero no funciona, y no puedo entender por qué. Gracias.
const clearStorage = document.querySelector(".clear-button"); clearStorage.addEventListener("click", (function(){ localStorage.clear(); })); };
Este código se importa al siguiente script:
import { getFavourites } from "./utils/getFavs.js"; import createMenu from "./components/createMenu.js"; import displayMessage from "./components/displayMessage.js"; import { clearFavList } from "./components/clearFavList.js" createMenu(); getFavourites(); const favouriteList = getFavourites(); const articlesContainer = document.querySelector(".favourites-container"); if(!favouriteList.length) { displayMessage("error", "You don't have any saved favourites yet.", ".favourites-container"); } favouriteList.forEach((favourite) => { articlesContainer.innerHTML += `<div class="article"> <div class="article-content-text"> <h2 class="article-title fav-wrapper-text">Title: ${favourite.title}</h2> </div> <div> <i class="fas fa-heart favButton"></i> </div> </div>`; }); clearFavList(favouriteList);
Este código, de un componente de autenticación de React, tiene todas las funciones básicas para manejar el almacenamiento.
// you can create multiple storage stores const LOCAL_STORAGE_STORE = 'storage_sample'; export const getHasLocalStorageAuth = () => { // check local storage const localStorage = __getLocalStorage(LOCAL_STORAGE_STORE); return { status: !!localStorage, data: localStorage.auth }; }; export const clearLocalStorageAuth = () => { __clearLocalStorage(LOCAL_STORAGE_STORE); return; }; export const setLocalStorageAuth = (newLocalStorage: any) => { __setLocalStorage(LOCAL_STORAGE_STORE, newLocalStorage); return; }; // setting data to localstorage export function __setLocalStorage( localStorageName: string, localStorageValue: any, isJson = true ) { if (isJson) { localStorage.setItem(localStorageName, JSON.stringify(localStorageValue)); } else { localStorage.setItem(localStorageName, localStorageValue); } } // getting data from localstorage export function __getLocalStorage(localStorageName: string): any { let localStorageValue: any; if (localStorage.getItem(localStorageName) !== null) { localStorageValue = localStorage.getItem(localStorageName); } else { localStorageValue = false; } return JSON.parse(localStorageValue); } // clear data from localstorage export function __clearLocalStorage(localStorageName: string | null) { localStorage.clear(); }