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

322
Visualizações
¿Cómo puedo mejorar el rendimiento setInterval por milisegundo usando ganchos en React?

Quiero crear un temporizador con milisegundos de 3 dígitos. (como un cronómetro) Entonces, uso setInterval con 1 milisegundo.

Por un tiempo, (alrededor de 20 segundos) fue muy lento. y hacer que mi computadora sea tan lenta. entonces debería actualizar esta página 😢

Lo uso con useEffect con setInterval. Creo que el problema es causado por volver a renderizar cada milisegundo. Pero no sé cómo mejorar el rendimiento.

Aquí está mi código (o code-sandbox https://codesandbox.io/s/peaceful-allen-gcdorn?file=/src/userTimer.js:0-603 )

 // App.js import { useState } from "react"; import useTimer from "./userTimer"; export default function App() { const [isStart, setIsStart] = useState(false); const [timer, setTimer] = useState("0.000"); useTimer(isStart, setTimer); return ( <div className="App"> <div style={{ fontSize: "4rem" }}>{timer}</div> </div> ); }
 // userTimer.js import { useEffect, useRef } from "react"; const useTimer = (isStart, setTimer) => { const refId = useRef(); useEffect(() => { if (isStart) { const startTime = Date.now(); const id = setInterval(function () { const elapsedTime = Date.now() - startTime; const formatTime = (elapsedTime / 1000).toFixed(3); setTimer(formatTime); }, 1); refId.current = id; } return () => clearInterval(refId.current); }, [isStart, setTimer]); const stopTimer = () => clearInterval(refId.current); return { stopTimer }; }; export default useTimer;

NOTA: Debo configurar setIsStart setTimer el componente principal (no en useTimer) porque quiero pasar ese gancho a otro componente secundario.

about 4 years ago · Juan Pablo Isaza
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