我正在开发React Native应用程序,有一个二维码扫描仪屏幕,如果我尝试扫描的二维码为空,我想触发警报。带数据的二维码工作正常。 我正在使用版本: "react-native-qrcode-scanner": "^1.5.3", 请帮助我。
我尝试通过onread事件添加一个逻辑来检查数据为空或为空,但它不起作用,但是当我扫描空二维码时它不断扫描,不通过handleBarCodeScanned函数。
const handleBarCodeScanned = ({data}: BarCodeReadEvent) => {
console.log('Scanned QR code data1:', data);
if (data !== null && data.trim() !== '') {
const splitted = data.split('|')[0];
dispatch(changeState(['isQRProcessing', true]));
dispatch(scanQR({bookingRef: splitted.trim()}));
} else {
console.log('Empty QR Code or Timeout occurred');
dispatch (
showAlertModal(
getAlertObject(
'Empty QR Code',
'Please scan a valid QR code.',
ALERT_TYPES.FAILED,
'Try Another',
'Close',
() => {
dispatch(changeState(['isQRProcessing', false]));
},
),
)
);
}
};
{!isQRProcessing && (
<QRCodeScanner
onRead={handleBarCodeScanned}
reactivate={true}
reactivateTimeout={2000}
showMarker={true}
checkAndroid6Permissions={true}
markerStyle={ScannerStyles.marker}
cameraStyle={ScannerStyles.camera}
cameraProps={{
autoFocus: 'on',
}}
/>
)}
二维码需要一些数据来创建图案以使其可扫描。如果二维码没有图案,那么它就没有内容。那么您就不需要检查二维码是否为空。您可以在这篇文章中阅读相关内容,空白二维码:您可以制作一个吗?