我有一个本机应用程序。在应用程序中,我使用事件监听器来侦听来自本机模块的一些操作,这很好。
当事件监听器捕获事件时,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(
///.......
);
}
}
答案 0 :(得分:1)
我认为一遍又一遍地发出警报可能会产生意想不到的后果,例如技术上的这种后果。但是我认为随着用户体验,你可能会面临更大的问题。我认为它可能会受到多次警报的影响,这会让用户感到恼火。
无论我认为您应该设置一个队列来管理捕获的警报,并且应该一次显示一个警报。如果队列中存在警报,则可以通过在上次关闭时显示下一个警报来管理它们的显示时间。