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

153
Vistas
Reaccionar: cómo pasar un accesorio a una llamada de función de clase a la que luego se accede en la función componentDidMount

Soy nuevo en la codificación y he pasado mucho tiempo tratando de hacer que esto funcione, pero estoy atascado. Sé que esta es una pregunta muy básica y si se responde en otro lugar, no he podido encontrar las preguntas correctas para buscar esa respuesta.

Esto es del tutorial de reacción: es el temporizador automático que se actualiza automáticamente cada 1000 ms. Me gustaría poder pasar un prop a la llamada a la función <Clock /> para especificar el intervalo que quiero que use esa instancia de objeto específica así: <Clock interval=2000 />

Aquí está el código que proporcionaron:

 function FormattedDate(props) { return <h2>It is {props.date.toLocaleTimeString()}.</h2>; } class Clock extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; } componentDidMount() { this.timerID = setInterval( () => this.tick(), 1000 ); } componentWillUnmount() { clearInterval(this.timerID); } tick() { this.setState({ date: new Date() }); } render() { return ( <div> <FormattedDate date={this.state.date} /> </div> ); } } function App() { return ( <div> <Clock /> <Clock /> <Clock /> </div> ); } ReactDOM.render(<App />, document.getElementById('root'));

Esto es lo que he probado:

  • Configuración del estado para tener timer: 5000
  • pasándolo como una const a la llamada de función
  • luego actualizando el estado en componentDidMount

Sin embargo, esto no funciona porque estoy tratando de usar un prop para actualizar state . ¿Qué se supone que debo hacer en su lugar?

Código fallido: (solo los bits que he probado)

 this.state = { date: new Date(), interval: 5000, }; componentDidMount(props){ () => this.tick(), props.timer ); } const timer = { interval: 5000, } ReactDOM.render() <Clock interval={timer.interval}/>, document.getElementById('root') );
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

si quieres pasar el intervalo como accesorio, puedes hacerlo así:

 <Clock interval="1000"/>

y accede así:

 componentDidMount() { this.timerID = setInterval( () => this.tick(), this.props.interval ); }

Debe usar this.props para tener acceso a sus accesorios en los componentes de la clase.

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