Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

425
Views
JavaScript localStorage no se actualiza en varios archivos

Quiero almacenar un número entero en localStorage y poder usarlo en varios archivos JavaScript. Sin embargo, los otros archivos hacen referencia a un valor antiguo incluso después de haberlo configurado en uno nuevo.

Aquí hay una versión condensada del archivo JSON con el que estoy trabajando:

 export const data = [ { "username": "steve" }, { "username": "fred" }

Aquí está el código donde configuro el valor de la clave localStorage:

 import { renderMenu } from "./menuPage.js"; import { data } from "../data/data.js"; // JSON file containing data const usernameInput = document.createElement("input"); const btn = document.createElement("btn"); btn.addEventListener("click", (ev) => { var username = usernameInput.value; const user = data.find(u => (u.username === username)); if (!user) { errText.textContent = "Incorrect username"; } else { var dataIndex = data.indexOf(user); console.log(dataIndex); if (localStorage.getItem("dataIndexLocalStorage") !== dataIndex) { localStorage.setItem("dataIndexLocalStorage", JSON.stringify(dataIndex)); } renderMenu(); } }

Por ejemplo, si el nombre de usuario que ingresé fue "steve", espero console.log(dataIndex); a la salida 0 .

Aquí está el código donde obtengo el valor de la clave localStorage (este código se usa en varios archivos JavaScript):

 import { data } from "../data/data.js"; const dataIndex = parseInt(localStorage.getItem("dataIndexLocalStorage")); export function renderMenu() { console.log(dataIndex); }

Siguiendo el ejemplo mencionado anteriormente, sigo esperando console.log(dataIndex); a la salida 0 . Hace esto en algunos casos (a veces simplemente genera null ).

En los casos en los que sí da como resultado 0 , si tuviera que ingresar "fred" como nombre de usuario, espero console.log(dataIndex); a la salida 1 . Sin embargo, en la función renderMenu(), console.log(dataIndex); todavía genera 0 , no 1 como lo hace en el código principal.

¿Me estoy perdiendo algo realmente básico? Parece extraño que no actualice el valor en todas partes.

Agradezco cualquier ayuda que pueda obtener :)

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!