2017-11-25 13 views
0

react-nativeを使用してonBarCodeReadに問題があります。react-native-camera onBarCodeReadが動作しない

予想される動作:アプリケーションはログバーコードの種類とデータを扱います。

実際の動作:アプリケーションはカメラを開くだけで、_onBarCodeReadは呼び出されません。

いずれの説明も満足できます。ここで

はコードです:

'use strict'; 
import React, { Component } from 'react'; 
import { 
    AppRegistry, 
    Dimensions, 
    StyleSheet, 
    Text, 
    TouchableHighlight, 
    View 
} from 'react-native'; 
import Camera from 'react-native-camera'; 

class camera_app extends Component { 

    constructor(props) { 
    super(props); 
    this.state = { 
     showCamera: true, 
    }; 
    } 

    renderCamera =() => { 
    if(this.state.showCamera) { 
     return (
     <Camera 
      ref={(cam) => { 
      this.camera = cam; 
      }} 
      style={styles.container} 
      aspect={Camera.constants.Aspect.fill} 
      onBarCodeRead={this._onBarCodeRead}> 
     </Camera> 
    ); 
    } else { 
     return (
     <View></View> 
    ); 
    } 
    } 

    render() { 
    return (
     this.renderCamera() 
    ); 
    } 

    _onBarCodeRead = (e) => { 
    this.setState({showCamera: false}); 
    alert("Barcode Found!", 
      "Type: " + e.type + "\nData: " + e.data); 
    } 
} 

const styles = StyleSheet.create({ 
    container: { 
    flex: 1, 
    justifyContent: "center", 
    alignItems: "center", 
    backgroundColor: "transparent", 
    }, 
}); 

AppRegistry.registerComponent('rn_camera',() => camera_app); 

答えて

1

私はあなたのコードを試してみましたが、それだけで正常に動作します。アラート機能を変更するだけで、バーコードのタイプとデータが表示されます。また、サポートされている場合はバーコードタイプを確認してください。https://github.com/lwansbrough/react-native-camera

alert("Barcode Found! \nType: " + e.type + "\nData: " + e.data); 
関連する問題