0
私は、反応ネイティブでアンドロイドのQRスキャナを構築しようとしています。私は次のコードを持っていますが、何もスキャンしません。それが動作するためには、コードに必要なものは何ですか?ReactネイティブQRスキャナがスキャンしない
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
View,
Text,
TouchableHighlight,
TouchableOpacity,
Image,
Button
} from 'react-native';
import BarcodeScanner from 'react-native-barcodescanner';
export default class test extends React.Component {
constructor(props) {
super(props);
this.state = {
torchMode: 'off',
cameraType: 'back',
};
}
barcodeReceived(e) {
console.log('Barcode: ' + e.data);
console.log('Type: ' + e.type);
}
render() {
return (
<View style={{flex: 1, flexDirection: 'row'}}>
<BarcodeScanner
onBarCodeRead={this.barcodeReceived}
style={{ flex: 1 }}
torchMode={this.state.torchMode}
cameraType={this.state.cameraType}
/>
</View>
);
}
}
AppRegistry.registerComponent('test',() => test);
あなたのコンストラクタの中に 'this.barcodeReceived = this.barcodeReceived.bind(this)'を追加するか、関数宣言を 'barcodeReceived =(e)=> {}'のような矢印関数を使うように変更してください。これはReact内の 'this'のコンテキストに関連しています。字句的なスコープを束縛したり矢印の関数を使用することなく、 'this'は' undefined'です。 – Dan