#javascript #reactjs #typescript #qr-code #barcode-scanner
Вопрос:
Я использую библиотеку react «qrscan» для сканирования штрих-кода с помощью камеры моего устройства. Проблема в том, что когда я успешно сканирую свой штрих-код и получаю значение, я не могу выключить камеру, и поэтому QR-код продолжает сканироваться и регистрирует значение несколько раз. Как я могу сделать так, чтобы камера выключалась, и я получал только начальное значение при сканировании?
Пример кода для сканирования:
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>
)
}
)
По какой-то причине компонент QRScan продолжает работать даже после scanning
того, как значение равно false .
Комментарии:
1. Попробуйте другую библиотеку, та, которую вы используете, не обновлялась в течение 3 лет, поэтому есть вероятность, что у нее проблемы с функциональными компонентами. Кажется, это работает: github.com/JodusNodus/react-qr-reader
2. Верно… Спасибо!