Camera 反应本机摄像头onBarCodeRead不工作
我对使用react native的onBarCodeRead有问题 预期行为:应用程序控制台记录条形码类型和数据 实际行为:应用程序只需打开摄像头,就不会调用_onBarCodeRead 任何解释都是令人满意的 代码如下:Camera 反应本机摄像头onBarCodeRead不工作,camera,barcode,react-native-camera,Camera,Barcode,React Native Camera,我对使用react native的onBarCodeRead有问题 预期行为:应用程序控制台记录条形码类型和数据 实际行为:应用程序只需打开摄像头,就不会调用_onBarCodeRead 任何解释都是令人满意的 代码如下: 'use strict'; import React, { Component } from 'react'; import { AppRegistry, Dimensions, StyleSheet, Text, TouchableHighlight,
'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);
“严格使用”;
从“React”导入React,{Component};
进口{
评估学,
尺寸,
样式表,
文本,
触控高光,
看法
}从“反应本机”;
从“react native Camera”导入相机;
类camera_应用程序扩展组件{
建造师(道具){
超级(道具);
此.state={
镜头:没错,
};
}
renderCamera=()=>{
if(this.state.showCamera){
返回(
{
这个摄像头=凸轮;
}}
style={style.container}
aspect={Camera.constants.aspect.fill}
onBarCodeRead={this.\u onBarCodeRead}>
);
}否则{
返回(
);
}
}
render(){
返回(
这个是renderCamera()
);
}
_onBarCodeRead=(e)=>{
this.setState({showCamera:false});
警报(“找到条形码!”,
“类型:”+e.Type+“\n数据:”+e.data);
}
}
const styles=StyleSheet.create({
容器:{
弹性:1,
辩护内容:“中心”,
对齐项目:“中心”,
背景色:“透明”,
},
});
AppRegistry.registerComponent('rn_camera',()=>camera_app);
我试过你的代码,效果很好。只需更改警报功能,它将显示条形码的类型和数据。如果支持或不支持条形码类型,请尝试检查条形码类型
alert("Barcode Found! \nType: " + e.type + "\nData: " + e.data);