Estoy aprendiendo a reaccionar mediante la codificación, alguna idea de por qué recibo este error 'DOMException no detectada: no se pudo ejecutar 'drawImage' en 'CanvasRenderingContext2D': el HTMLImageElement proporcionado está en el estado 'roto'. He estado atascado con esto durante algunas horas.
Ese error se muestra en drawImage que está dentro de la declaración if
mi código:
const updatePreviewUrl = () => { if (currentCam) { let curSnapshotUrl = state.snapshot?.snapshotUrl.split("?ts=")[0]; let newSnapshotUrl = `api/cam/${....}/` + `${curCam.ident}/snapsht`; if (curSnapshotUrl ....) { setState({ ... }); } } }; const updateCanvas = () => { updatePreviewUrl(); const canvas = CameraCanvas.current; const ctx = canvas.getContext("2d"); const img = CameraImage.current; ctx.rect(0, 0, canvas.width, canvas.height); ctx.fill(); if (currentCam) { ctx.drawImage(img, 0, 0); } }; useEffect(() => { updateCanvas(); const img = CameraImage.current; img.onload = updateCanvas; return () => { img.onload = null; }; });