2017-08-01 23 views
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);

How it looks on phone

+0

あなたのコンストラクタの中に 'this.barcodeReceived = this.barcodeReceived.bind(this)'を追加するか、関数宣言を 'barcodeReceived =(e)=> {}'のような矢印関数を使うように変更してください。これはReact内の 'this'のコンテキストに関連しています。字句的なスコープを束縛したり矢印の関数を使用することなく、 'this'は' undefined'です。 – Dan

答えて

0

使用あなたは機能

onBarCodeRead={this.barcodeReceived.bind(this)} 

が、これはあなたを助けることができるビンかもしれませできるように!

関連する問題