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

336
Visualizações
Mantener el valor de la casilla de verificación en Storage React local

Estoy tratando de guardar el valor de las casillas de verificación en el almacenamiento local, de modo que cuando el usuario vuelva a cargar la página, permanezcan marcadas/sin marcar. Tengo un estado "isChecked" y una función handleOnChange.

Lo que intento hacer es almacenar el valor en el estado, y cada vez que se ejecuta la función onChange, configuro la tecla 'casilla de verificación' en el almacenamiento local con el valor de la casilla de verificación.

así es como se ve mi componente

 import React from "react"; import { useState, useEffect } from "react"; const Pdf = (props) => { const [shown, setShown] = useState(false); const [isChecked, setIsChecked] = useState(localStorage.getItem('checkbox') === 'true'); const handleOnChange = (e) => { setIsChecked(localStorage.getItem('checkbox')); localStorage.setItem('checkbox',`${e.target.checked}`) } const toggle = () => { setShown((prevState) => !prevState); alert(isChecked) }; return ( <div className="pdfContainer row container justify-content-center"> <section className="justify-content-center"> <h1 className="row justify-content-center h1--style"> Κεφάλαιο {props.id} </h1> <p className="row justify-content-center p--style">{props.info}</p> </section> <button onClick={toggle} className=" shadow button--style"> Μάθημα {props.id} </button> {shown && <embed className=" pdf" src={props.pdf} />} <div className="pdfChecked input-group-text input-group "> <input type="checkbox" id='pdfchecked' name="pdfChecked" value='1' checked={isChecked} onChange={handleOnChange} /> <label className="input--label"> Διάβασα το κεφάλαιο!</label> </div> </div> ); }; export default Pdf;

Entiendo que esto tiene muchos errores y no es como se supone que debes hacerlo. Encontré el concepto de almacenamiento local difícil de comprender como principiante, y he intentado muchas formas de hacer que esto funcione. A partir de ahora, funciona un poco , lo que significa que cuando vuelvo a cargar la página permanece igual, ¡pero tengo que hacer clic en la casilla de verificación varias veces! TAN buggy. ¡Cualquier ayuda, especialmente dejarme saber por qué mi proceso de pensamiento es incorrecto, sería apreciada!

about 4 years ago · Juan Pablo Isaza
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