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

158
Vistas
La forma correcta de borrar el intervalo en el componente se montó en React

Estoy tratando de borrar un intervalo cuando el componente se desmonta en un componente basado en clase en reaccionar. Investigué un poco sobre esto y vi que en la función del ciclo de vida del componenteWillUnmount, las personas almacenan la función real en una variable en lugar de simplemente borrar el intervalo de inmediato. Por ejemplo:

 componentDidMount() { const { stock } = this.props; // Fetch data once user lands on page this.fetchData(stock); // Fetch data every hour setInterval(() => { this.fetchData(stock); console.log('setInterval ran'); }, 3600000); } componentWillUnmount() { const { stock } = this.props; // Remove interval const refreshFetch = clearInterval(this.fetchData(stock)); console.log('setInterval cleared'); } async fetchData(stock) { const data = await getAvgPriceHistory(stock); if (data && data[stock].length) { const dataArray = data[stock].map((arr) => { return arr[1]; }).reverse(); this.setState({ data: dataArray, isLoaded: true }); } else { // straight line if not found. this.setState({ data: [1, 1], isLoaded: true }); } console.log('Data fetched!'); }

Mientras tanto, la forma en que estoy acostumbrado a hacer esto en la función componentWillUnmount sin definir una variable así:

 componentWillUnmount() { const { stock } = this.props; // Remove interval clearInterval(this.fetchData(stock)); console.log('setInterval cleared'); }

¿Hay algún beneficio en hacer uno u otro?

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

0

setInterval devuelve una identificación. Puedes usarlo con clearInterval para destruirlo.

https://developer.mozilla.org/en-US/docs/Web/API/setInterval

 let intervalId; ... intervalId = setInterval(fn, time); ... clearInterval(intervalId);
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