Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

62
Views
useState demasiado lento para la transmisión de video useInterval

Cada 33 milisegundos, quiero registrar los cambios realizados en un elemento de formulario. Necesito que esto se haga cada 33 milisegundos, porque intento grabar un "video" de un elemento de formulario registrando cambios en el elemento de formulario cada 33 milisegundos. En una página separada, mostraré estos cambios cada 33 milisegundos, dando la ilusión de un video.

Necesito usar el gancho useState en React. Al diagnosticar, descubrí que useState es tan lento que no puedo usarlo para registrar cambios en el intervalo de 33 ms. Cuando escribo texto rápidamente en el elemento de formulario, se retrasa considerablemente.

¿Hay alguna manera de registrar cambios en el elemento de formulario cada 33 milisegundos usando React? Puedo pensar en tres formas: encontrar una alternativa adecuada a useState, usar una solución de transmisión de video más nativa, alguna forma de subprocesamiento múltiple de javascript. Por favor, ayúdame.

 import React, { useState, useEffect } from 'react' const store = [] const Record2 = (props) => { const [seconds, setSeconds] = useState(0) const [data, setData] = useState("") const [capturing, setCapturing] = React.useState(false); const handleChange = (e) => { setData(e.target.value) } const handleClick = (e) => { setCapturing(oldCapturing => !oldCapturing) } useEffect(() => { console.log("store", store) const interval = setInterval(() => { if (capturing) { setSeconds(seconds => seconds + 0.033); store.push({ seconds, data }) console.log(store) } }, 33); return () => clearInterval(interval); }); return ( <div> <input onChange={handleChange} value={data}></input> <button onClick={handleClick}>{capturing ? "end capture" : "start capture"}</button> </div> ) } export default Record2
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!