react native Modal前面弹出alert会挂掉ios中的应用
Posted
技术标签:
【中文标题】react native Modal前面弹出alert会挂掉ios中的应用【英文标题】:Popping up a alert in front of react native Modal hangs up the application in ios 【发布时间】:2019-05-01 04:55:33 【问题描述】:我正在尝试制作一些身份验证系统,在该系统中单击注册后会要求用户输入 otp。我使用模态标签为 Otp 制作了一个模态,只有当某个值变为真时才可见。每当用户提交 otp 时,我都会打开一个警告框,提示现在登录并将该模式可见性更改为 false。 但是在这样做时,我在 ios 中遇到了一个问题。这在 android 中运行良好,但在尝试使用 ios 设备时,手机在模态屏幕上挂断并且不会返回。
【问题讨论】:
【参考方案1】:所以这是模态和警报的一个众所周知的问题,因为alert
本身是模态(覆盖项)的一种形式,而setState
是异步发生的,因此动作会相互阻塞,整个用户体验都会挂起。您需要做的只是同步 OTP 模态关闭和警报。
已编辑:最好使用setTimeOut(()=>Alert.alert(), 0);
为您的警报添加超时
代码应该是这样的:
this.setState(
isOTPModalVisible: false
, () =>
Alert.alert('message');
)
【讨论】:
以上是关于react native Modal前面弹出alert会挂掉ios中的应用的主要内容,如果未能解决你的问题,请参考以下文章
React Native Web 中 Modal 的替代方案
如何让应用程序关闭时出现 Alert / Modal / Dialog 服务 react native?
RN-第三方之react-native-root-modal、或者modal实现侧栏效果
React Native + react-native-router-flux:<Scene key='modal' component=Modal/> 有啥作用?