我有一个反应本机应用程序。在应用程序中,我使用事件侦听器来聆听本机模块的某些操作,这些操作正常。
事件侦听器捕获事件时,console.log
输出,然后调用另一个功能,该功能再次输出console.log
,所有功能都可以。
但是,当功能还显示警报时,它会首次显示,但如果显示警报被多次调用,则可能不会。
有什么问题?我可以经常显示警报吗?
这是源代码:
class Details extends Component {
constructor(props){
super(props);
}
componentDidMount(){
DeviceEventEmitter.addListener('tagDetected', (data)=>{
console.log(data.serial)
this.attendBySerial(data.serial)
});
}
attendBySerial(i){
console.log('Attending', i)
Alert.alert(
'NFC Tag Detected',
JSON.stringify(i)
);
}
render(){
return(
///.......
);
}
}
我认为一遍又一遍地调用警报可能会带来意想不到的后果,例如技术。但是,我认为您可能会在用户体验的情况下遇到更大的问题。我认为这可能会被多个警报击中会使用户感到烦恼。
无论如何,我认为您可能应该设置一个队列以管理您的警报,因为它们被捕获,并且应该一次显示它们。如果在队列中存在警报时,您可以通过显示下一个警报来显示下一个警报时可以管理它们。