<div className="mb-3 form-check"> <input type="checkbox" className="form-check-input" id="exampleCheck1" /> <label className="form-check-label" htmlFor="exampleCheck1" id="suca"> Accetto di vedere peni </label> </div> <button type="submit" className="btn btn-primary" onClick={(event)=> {document.getElementById("suca").value="lol"; props.onVamo(document.getElementById("Username").value,document.getElementById("NumeroStanza").value,event)}}> Vamo </button> Por qué document.getElementById("suca").value="lol"; ¿Por qué esto en realidad no establece el texto en "lol"? no lo entiendo..
Además de las consideraciones de "la forma de reacción", el value es un atributo válido para entradas/áreas de texto, etiquetas y otros elementos html que tienen HTML innerHTML .
document.getElementById("blyat").innerHTML = "¡He cambiado!";
Como mencionó Konrad, es muy peligroso cambiar su HTML en un entorno reactivo:
React.js: Establecer innerHTML vs peligrosamenteSetInnerHTML
Debe establecer el valor de este elemento en una variable y cambiar la variable :)
También sugiero usar dangerouslySetInnerHTML :
dangerouslySetInnerHTML es una propiedad que puede usar en elementos HTML en una aplicación React para configurar su contenido mediante programación. En lugar de usar un selector para tomar el elemento HTML y luego establecer su HTML interno, puede usar esta propiedad directamente en el elemento.