I am trying to integrate scanner-js in my react app but I receive the error TypeError: Cannot read property 'scan' of undefined.
You can find the code below:
import { scanner } from 'scanner-js';
class Home extends React.Component {
constructor(props) {
super(props);
this.state = {};
}
scan = () => {
scanner.scan(this.displayImagesOnPage, {
output_settings: [
{
type: 'return-base64',
format: 'jpg',
},
],
});
};
displayImagesOnPage(successful, mesg, response) {
if (!successful) {
// On error
console.error('Failed: ' + mesg);
return;
}
if (
successful &&
mesg != null &&
mesg.toLowerCase().indexOf('user cancel') >= 0
) {
// User cancelled.
console.info('User cancelled');
return;
}
var scannedImages = scanner.getScannedImages(response, true, false); // returns an array of ScannedImage
for (
var i = 0;
scannedImages instanceof Array && i < scannedImages.length;
i++
) {
var scannedImage = scannedImages[i];
var elementImg = scanner.createDomElementFromModel({
name: 'img',
attributes: {
class: 'scanned',
src: scannedImage.src,
},
});
}
}
render() {
return (
<div>
<button type="button" onClick={this.scan}>
Scan
</button>
</div>
);
}
}
export default Home;
When I hover over the scanner object, the following things are showing, but I do not know why it's throwing an undefined error.
Can somebody help me to find the issue?
Thanks in advance.
