Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

128
Vistas
onClick no funciona cuando intento cambiar el valor de la variable

En React, intento cambiar la visualización de 2 elementos cuando se hace clic en ciertos botones. Quiero que se muestre el título o una entrada para editar el título. Mi título div tiene un nombre de clase de una variable llamada 'titleDisplay' con el valor de 'isDisplayed'. Tengo una función configurada para cambiarla a 'notDisplayed'

 let titleDisplay = 'isDisplayed'; let editDisplay = 'notDisplayed'; const editDisplayed = () => { editDisplay = 'isDisplayed' titleDisplay = 'notDisplayed' }
 <button onClick={editDisplayed} id="edit-btn">EDIT</button>
 <div className={titleDisplay}> <h2 className='indieNotebookTitle'>{notebook?.title}</h2> </div>
 .isDisplayed { display: block; } .notDisplayed { display: none; }

No estoy seguro de lo que estoy haciendo mal ya que onClick ha estado trabajando con funciones hasta ahora.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

React solo volverá a renderizar un componente en respuesta a un cambio de estado. La reasignación de una variable, por sí sola, casi nunca tiene efectos secundarios, a menos que la variable se utilice más adelante. Su reasignación de editDisplay solo sería visible para otras funciones dentro del mismo enlace de componente (algo muy inusual de ver en React y, por lo general, un indicador de un problema lógico).

En su lugar, debe hacer que las variables que intente cambiar tengan estado. Además, considere usar un valor booleano en lugar de un valor de cadena. Es posible que pueda usar solo un valor de estado único en su lugar, para alternar entre el título y la edición.

 const [editingTitle, setEditingTitle] = useState(false); <button onClick={() => setEditingTitle(false)} id="edit-btn">EDIT</button>
 <div className={editingTitle ? 'isDisplayed' : 'notDisplayed'}> <h2 className='indieNotebookTitle'>{notebook?.title}</h2> </div>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda