我有一个 React native 应用程序。在应用程序中,我使用事件监听器来监听来自 native 模块的一些操作,效果很好。
当事件监听器捕获事件时,console.log
输出,然后它调用另一个函数再次输出 console.log
,一切正常。
但是当函数也显示一个 Alert 时,它会在第一次显示,但如果多次调用显示 Alert 则可能不会显示。
可能是什么问题?我可以经常显示警报吗?
这里是源代码:
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(
///.......
);
}
}
最佳答案
我认为从技术上讲,一遍又一遍地发出警报可能会产生意想不到的后果。但是,我认为您可能会在用户体验方面面临更大的问题。我认为它可能会收到多个警报,这会让用户感到恼火。
无论如何,我认为您应该设置一个队列来管理捕获的警报,并且应该一次显示一个。如果队列中存在警报,您可以通过在最后一个警报关闭时显示下一个警报来管理它们的显示时间。
关于javascript - react native : Alert message doesn't work when called frequently,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42558147/