Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

168
Visualizações
Reaccionar almacenamiento local para apuntar a botones previamente seleccionados

Cada botón cambia de color cuando se presiona. Y quiero que mantengan ese color cada vez que la página se recarga hasta que se ejecute aa localStorage.clear(). Así que estoy tratando de volver a aplicar el css aplicado anteriormente con almacenamiento local. Mi idea es almacenar los Id. de cada botón, recorrer los Id. y volver a aplicar css. Pero sigue arrojando un error: "No se pueden leer las propiedades de nulo (leyendo 'estilo')". ¡Otro problema que parece tener es que pierdo mi almacenamiento local en la recarga de la segunda página! Si tiene una manera de mejorar esto o una mejor manera de hacerlo, ¡hágamelo saber! Gracias.

Código ACTUALIZADO
Aquí hay un enlace a la versión más funcional https://codesandbox.io/s/festive-rui-vz7tf?file=/src/App.js Agregué un "Borrar historial Btn". El único problema ahora es que después de recargar y seleccionar otro botón, el almacenamiento local se borra por completo con la nueva selección. Lo que necesito son las selecciones para apilar hasta que el usuario ejecute localStorage.clear().

 import React,{useState,useEffect} from 'react'; const App=()=> { const [btns, setBtns] = useState([]); useEffect(() => { localStorage.setItem('BtnsClicked', JSON.stringify({ btns })); }, [btns]); const handleAcknowledge=(event)=>{ setBtns([...btns, event.target.id]) event.target.style.backgroundColor = "red" event.target.innerHTML = "Clicked!" } const reSelectBtns=()=>{ const storedBtns = JSON.parse(localStorage.getItem('BtnsClicked')); if (storedBtns.btns.length){ storedBtns.btns.forEach(btn=>{ console.log(document.getElementById(btn).style.backgroundColor = "red") }) } } reSelectBtns() return ( <div className="App"> <button id = "1" onClick={handleAcknowledge}>Acknowledge</button> <button id = "2" onClick={handleAcknowledge}>Acknowledge</button> <button id = "3" onClick={handleAcknowledge}>Acknowledge</button> <button id = "4" onClick={handleAcknowledge}>Acknowledge</button> </div> ); } export default App;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Echa un vistazo a este enlace de sandbox mío https://codesandbox.io/s/blissful-marco-7wgon?file=/src/App.js

Se ocupa de sus problemas.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda