Lo que estoy tratando de hacer aquí es cargar la página con una entrada que se puede seleccionar o deseleccionar y el valor se predefinirá a partir de una verificación de la base de datos. Así que visito la base de datos antes de que termine el procesamiento y devuelvo verdadero/falso, pero cada vez que se selecciona verdadero , puedo ver que la página se carga antes de aplicar los cambios que requiero. Entonces, si se suponía que un botón estaba deshabilitado, primero se cargaría tal como está y luego seguiría la desactivación. Entonces, ¿hay alguna manera de garantizar que el método de procesamiento espere mis cambios o es solo la lógica? Estoy confundido.
Esta es una instancia, tengo 3 actualmente en mi código.
// agregó esta variable al estado
this.state = { verificationStatus: '' }// funcion obtener estado
await Http.post({ url: '/api/id-status-check', headers: {'user': localStorage.getItem('userId')} }) .then((response)=>{ verificationStatus = response.identificationStatus this.setState({verificationStatus: response.identificationStatus})Luego estoy tratando de hacer algo como esto, pero la clase solo se elimina después de que se carga la página.
if (this.state.verificationStatus.toLowerCase() !== 'failed') { dCheck.disabled = true dCheck.classList.remove('btn-primary2')Esta es mi función componentDidMount donde intento ejecutar la misma función para obtener el estado antes del renderizado inicial. Y, por cierto, la lógica funciona para producir la salida, pero solo después de que se carga la página, por lo que puedo ver el cambio de color del botón en la carga, lo cual es mi preocupación.
componentDidMount() { this.getStatus().then(r => {}) }