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

271
Views
react-webcam: deshabilita los botones hasta que comience la transmisión

Estoy usando la cámara web de reacción para capturar imágenes y videos en mi aplicación de reacción. He implementado el ejemplo de Captura de pantalla (a través de Ref) :

 const videoConstraints = { width: 1280, height: 720, facingMode: "user" }; const WebcamCapture = () => { const webcamRef = React.useRef(null); const capture = React.useCallback( () => { const imageSrc = webcamRef.current.getScreenshot(); }, [webcamRef] ); return ( <> <Webcam audio={false} height={720} ref={webcamRef} screenshotFormat="image/jpeg" width={1280} videoConstraints={videoConstraints} /> <button onClick={capture}>Capture photo</button> </> ); };

Funciona bien, sin embargo, parece que la transmisión tarda unos segundos en comenzar y el video comienza a mostrarse. Quiero poder desactivar el botón mientras esto sucede. Descubrí que hay un indicador en webcamRef que indica si se está cargando:

 useEffect(() => { if (webcamRef.current) { const camStarted = webcamRef.current.state.hasUserMedia; debugger; } }, [webcamRef]);

En el useEffect anterior, mientras el video se está inicializando, hasUserMedia es falso, una vez que se ha cargado, cambia a verdadero. Esto suena exactamente como lo que necesito, sin embargo, como está en un useRef , no golpea el useEffect cuando cambia.

¿Hay algún tipo de truco ingenioso que pueda implementar para poder identificar cuándo se cambia este valor en useRef , o cualquier otra cosa que pueda ayudarme a obtener la funcionalidad que busco?

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!