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

169
Vistas
La variable de instancia de Javascript no se representó en el componente de clase React al llamar a setState

Un componente de clase de reacción se monta en el nodo raíz html. Tiene dos etiquetas de elemento reactivo h1 en su cuerpo. Un elemento h1 se representa directamente dentro del método de representación. Otro h1 se borra en la clase de componente React y se pasa a la función Render como una variable.

 import React, { Component } from "react"; export default class Test extends Component { state = { count: 0, }; current_count = (<h1>current count is {this.state.count}</h1>); render() { return ( <> {this.current_count} <h1>current count is {this.state.count}</h1> <button onClick={() => { this.setState({ count: this.state.count + 1 }); }} > click me </button> </> ); } }

Cuando hice clic en el botón, debería aumentar el count , solo el elemento de reacción h1 dentro de la función de procesamiento se actualizará con su contenido de estado.

La siguiente foto muestra la segunda etiqueta h1 que muestra que el recuento es 4 cuando hice clic en el botón 4 veces.

ingrese la descripción de la imagen aquí

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Su current_count es una propiedad que se crea en el constructor, antes del montaje, y solo entonces. Su código actual es como

 export default class Test extends Component { constructor() { this.state = { count: 0, }; this.current_count = (<h1>current count is {this.state.count}</h1>); }

Y el constructor solo se ejecuta una vez.

Necesitará algún otro método para actualizarlo. La mejor manera sería generar solo el JSX en el procesamiento; tal vez tener una función en su lugar que devuelva el <h1> .

 class Test extends React.Component { state = { count: 0, }; getCurrentCount() { return ( <h1>current count is {this.state.count}</h1> ); } render() { return ( <React.Fragment> {this.getCurrentCount()} <h1>current count is {this.state.count}</h1> <button onClick={() => { this.setState({ count: this.state.count + 1 }); }} > click me </button> </React.Fragment> ); } } ReactDOM.createRoot(document.querySelector('.react')).render(<Test />);
 <script crossorigin src="https://unpkg.com/react@18/umd/react.development.js"></script> <script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script> <div class='react'></div>

about 4 years ago · Santiago Trujillo 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