首页 > 解决方案 > React native 0.61.2 Alert.alert 在 Android 上不起作用

问题描述

我注意到一些奇怪的行为,我有一个注销对话框,其中有一个针对 android 和 ios 的 Alert.alert。

import { Alert } from react-native

logOut() {

console.log("========LOGOUT============");

Alert.alert(
  'Log out',
  'Are you sure you want to logout?',
  [
    {
      text: 'Cancel',
      onPress: () => console.log('Cancel Pressed'),
      style: 'cancel',
    },
    {
      text: 'Yes',
      onPress: () => {
        this.props.navigation.navigate('Login');
      },
    },
  ],

  {cancelable: false},
);

}

场景 #1 警报不起作用。

npm start and react-native run-android 

情景#2

警报有效(出于某些原因)但资产不显示(这是有道理的,因为我还没有启动地铁服务器)但警报有效。

react-native run-android 

场景#3 警报不再起作用。

react-native run-android --variant=release

运行 Metro 服务器时的日志打印,但未显示警报。

这是我尝试过的:- 将我的react-native 升级到 0.61.4,但它不起作用。遵循了很多教程,似乎很简单,应该是这样,但问题仍然存在于我这边。

react-native 信息(这是在我将其移至 RN 0.61.5 之后)

 npmPackages:
    react: 16.11.0 => 16.11.0 
    react-native: 0.61.5 => 0.61.5 
  npmGlobalPackages:
    react-native-cli: 2.0.1

更新 我的 login.js 上有类似的警报代码,它会在该屏幕中显示警报(无效的电子邮件或密码),但一旦我登录到我的应用程序,其他任何地方都不会显示。

感谢您的帮助,如果你们还需要什么,请告诉我。

标签: androidreactjsalertnative

解决方案


这个问题是由于react-native-drawer (现在不再维护)而发生的。

我使用react-navigation-drawer了这个我应该从一开始就使用的东西,但由于某种原因我没有。

如果有人遇到此类问题,请逐个检查组件并找出其中的问题。


推荐阅读