2017-11-25 2 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); 
관련 문제