如何解决渲染没有返回任何东西我错过了什么吗?
我正在制作一个条形码扫描仪,用于扫描条形码并从 Firebase 获取数据。我正在测试是否能够将条形码中的数据用作密钥。在实施 firebase 之前,条码扫描器运行良好。现在我得到错误,没有呈现任何东西。也许我只是错过了什么或不小心删除了什么?
这是条形码类:
export default class BarCodeScannerScreen extends Component{
constructor(props){
super(props);
this.state={
productlist:[],scannedkey:null,} }
state = {
CameraPermissionGranted: null,}
async componentDidMount() {
// Ask for camera permission
const { status } = await Permissions.askAsync(Permissions.CAMERA);
this.setState({ CameraPermissionGranted: status === "granted" ? true : false });
firebase.database().ref('/product/'+scannedkey).on('value',(snapshot) =>{
var list = []
snapshot.forEach((child)=>{
list.push({
key:child.key,title:child.val().title,//details: child.val().details,//price: child.val().price
})
})
this.setState({productlist:list})
});
alert(productlist.title)
};
barCodeScanned = ({ data }) => {
//Access the Data
scannedkey.setState({data});
alert(data);
};
render(){
const { CameraPermissionGranted } = this.state;
if(CameraPermissionGranted === null){
// Request Permission
return(
<View style={styles.container}>
<Text>Please grant Camera permission</Text>
</View>
);
}
if(CameraPermissionGranted === false){
// Permission denied
return (
<View style={styles.container}>
<Text>Camera Permission Denied.</Text>
</View>
);
}
if(CameraPermissionGranted === true){
// Got the permission,time to scan
return (
<View style = {{
flex: 1,justifyContent: 'center',alignItems: 'center',}}>
<BarCodeScanner
onBarCodeScanned = {this.barCodeScanned }
style = {{
height: DEVICE_HEIGHT/1.1,width: DEVICE_WIDTH,}}
>
</BarCodeScanner>
</View>
);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。