Так что это довольно известная проблема с модалами и оповещениями, так как alert
сам по себе является формой модальности (оверлейный элемент), а setState
происходит асинхронно, поэтому действия блокируют друг друга и весь UX зависает.Вам нужно просто синхронизировать модальное закрытие OTP и оповещение.
Отредактировано: Лучше добавить таймаут к вашему оповещению, используя setTimeOut(()=>Alert.alert(), 0);
Код должен выглядеть так:
this.setState({
isOTPModalVisible: false
}, () => {
Alert.alert('message');
})