При появлении предупреждения перед реакцией нативный модал зависает приложение в ios - PullRequest
0 голосов
/ 29 ноября 2018

Я пытался создать какую-нибудь систему аутентификации, в которой после нажатия на кнопку регистрации у пользователя запрашивается otp.Я сделал модал для Otp, используя модальный тег, который становится видимым только тогда, когда какое-то значение становится истинным.Всякий раз, когда пользователь отправляет otp, я открываю окно с предупреждением о входе в систему сейчас и изменяю этот модальный visibile на false.Но при этом я столкнулся с проблемой в Ios.Это работает нормально в Android, но при попытке с устройством IOS телефон зависает на модальном экране и не возвращается.

1 Ответ

0 голосов
/ 29 ноября 2018

Так что это довольно известная проблема с модалами и оповещениями, так как alert сам по себе является формой модальности (оверлейный элемент), а setState происходит асинхронно, поэтому действия блокируют друг друга и весь UX зависает.Вам нужно просто синхронизировать модальное закрытие OTP и оповещение.

Отредактировано: Лучше добавить таймаут к вашему оповещению, используя setTimeOut(()=>Alert.alert(), 0);

Код должен выглядеть так:

this.setState({
  isOTPModalVisible: false
}, () => {
   Alert.alert('message');
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...