【发布时间】:2018-10-30 04:37:39
【问题描述】:
我有一个模态组件(加载器)并且几乎在每个屏幕上都使用它,但问题是当我 setState 并在 callback setState 中调用 Alert 时它无法正常工作,
这是我的代码:
LoginProcess(){
this.setState({postLoader:true})
//calling API and handle if the password is wrong, showing alert
if(response.ok && response.status == 200){
//navigate to home
} else {
this.setState({postLoader:false},()=>Alert.alert("Perhatian", "Password salah!\nSilahkan coba kembali"))
}
}
<View>
<PostLoader showModal={this.state.postLoader} nameLoader="Mengirim data"/> //the loader using modal
</View>
正如您在else{} 中看到的那样,我处理了callback 以显示alert,但实际结果很奇怪,
我的postLoader 状态仍然是true 和Alert 弹出窗口并自行关闭,所以除了在recent apps 中滑动我的应用程序并重新打开外,我什么也做不了,
任何人都知道如何等待 postLoader 状态为 false 然后调用 Alert?
【问题讨论】:
-
为什么
PostLoader管理它自己的可见性?它还在做什么? -
@Wainage 我只是创建了自己的组件
Loader,我不知道代码在android中有效,但为什么不在iOS中,我正在使用react native组件创建我自己的Loader,比如Modal, Image,这就是为什么我做了Modal对visible prop in modal所做的事情
标签: javascript react-native react-native-ios setstate