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

270
Vistas
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
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