android - react native Modal前面弹出alert会挂掉ios中的应用
问题描述
我正在尝试制作一些身份验证系统,在该系统中单击注册后会要求用户输入 otp。我使用模态标签为 Otp 制作了一个模态,只有当某个值变为真时才可见。每当用户提交 otp 时,我都会打开一个警告框,提示现在登录并将该模式可见性更改为 false。但是在这样做时,我在 Ios 中遇到了一个问题。这在 android 中运行良好,但是在尝试使用 ios 设备时,手机会挂断在模态屏幕上并且不会返回。
解决方案
所以这是模态和警报的一个众所周知的问题,因为它alert
本身是模态(覆盖项)的一种形式并且setState
异步发生,因此动作会相互阻塞并且整个用户体验被挂起。你需要做的只是同步 OTP模态关闭和警报。
已编辑:更好地使用为您的警报添加超时setTimeOut(()=>Alert.alert(), 0);
代码应如下所示:
this.setState({
isOTPModalVisible: false
}, () => {
Alert.alert('message');
})
推荐阅读
- php - 将 MY SQL 查询结果与同一项目 ID 的多行合并为单行以进行 json 响应
- bash - 关于 awk + xxd bash 命令中的 ASCII 换行字节的混淆
- ssl - 我正在研究leadtools并尝试将其配置为在https上工作
- javascript - 日期类型的 Google Visualization CategoryFilter
- python - calendarList().list 未显示所有日历
- laravel - Laravel 种子在数据库中创建错误的行数
- python - 如何检查浏览的文件是 .xlsx 还是 .csv?
- php - Symfony 功能测试 - 如何使用请求模拟控制器注入服务(提交)
- javascript - 控制最后显示插入符号的位置
- visual-studio - 业务中心元数据文件使用 Visual Studio OData 连接服务生成错误的 APi 路由