Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

164
Visualizações
Reaccionar setInterval y useState

tengo 2 pregunta Primero, por qué este código no funciona. En segundo lugar, ¿por qué este código es lento cuando se trata de 2^n -1, por ejemplo, 1-3-7-15?

 let time = 0 function App() { const [mytime, setMytime] = useState(time) setInterval(() => { time += 1 setMytime(time) }, 1000) return <div> {mytime} </div>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Tema

Se llama setInterval cada vez que mytime cambia para volver a renderizar (cuando llama a setMytime ). Y el número de llamadas a setInterval crece exponencialmente. Esto también conduciría a una pérdida de memoria.

Solución

Debes ejecutarlo solo una vez. Debe usar useEffect hook con una matriz de dependencia vacía.

Prueba así.

 import { useEffect, useState } from "react"; function App() { const [mytime, setMytime] = useState(0); useEffect(() => { // create a interval and get the id const myInterval = setInterval(() => { setMytime((prevTime) => prevTime + 1); }, 1000); // clear out the interval using the id when unmounting the component return () => clearInterval(myInterval); }, []); return <div> {mytime} </div>; } export default App;

Editar competente-noche-ufndlc

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda