Estoy usando la biblioteca de reacción "qrscan" para escanear un código de barras con la cámara de mi dispositivo. El problema es que cuando escaneo con éxito mi código de barras y obtengo un valor, no puedo apagar la cámara y, por lo tanto, el QR continúa siendo escaneado y registra el valor varias veces. ¿Cómo puedo hacer que la cámara se apague y solo obtenga el valor inicial del escaneo?
Ejemplo de código para escanear:
const [scanning, setScanning] = useState(false); const [scannerValue, setScannerValue] = useState(''); const onFind = (value: string) => { setScannerValue(value); setScanning(false); console.log(value); }; return ( {scanning ? ( <QRScan onFind={onFind} /> ) : ( <Fragment> <button onClick={() => setScanning(true)}>Scan</button> <h4>value: {scannerValue}</h4> </Fragment> ) } ) Por alguna razón, el componente QRScan sigue funcionando incluso después de que el scanning es falso.