javascript - Alert.alert() 在 React Native 0.36.1 中不起作用

标签 javascript android ios react-native

我正在尝试使用 Alert React Native 中的组件以在 Android 和 iOS 之间创建一致的体验。我正在尝试运行示例警报。我导入了警报组件(为简洁起见省略了其他导入):

import {
  Alert, 
} from 'react-native';

然后我创建示例中提供的警报:

Alert.alert(
  'Alert Title',
  'My Alert Msg',
  [
    {text: 'Ask me later', onPress: () => console.log('Ask me later pressed')},
    {text: 'Cancel', onPress: () => console.log('Cancel Pressed'), style: 'cancel'},
    {text: 'OK', onPress: () => console.log('OK Pressed')},
  ]
)

但是,我收到以下错误:

enter image description here

我找到了 this post with a similar issue , 但是,我相信我的问题是不同的,因为:

  • 我正在运行 React Native 版本 0.36.1
  • 我在 Android 和 iOS 上看到这个错误

我不知道如何解决这个问题。有没有其他人有幸让它在 0.36 版上运行?

更新

根据要求,这是我尝试使用警报的示例:

    <TouchableHighlight style={styles.button} underlayColor='transparent'   onPress={() => Alert.alert(
        'Alert Title',
        'Alert Message'
      )}>

这只是代码失败的一个例子。我尝试了多个组件和方法的多个警报,但没有一个有效。

更新 2

值得注意的是,标准的 alert() 函数可以正常工作而不会崩溃。但是,我无法指定警报的标题。例如,下面的代码将返回标题为“Alert”的警报,消息为“请输入 4 位代码”。

      alert("Invalid Code", "Please enter a 4 digit code.")

我想要的输出是标题 =“无效代码”和消息 =“请输入 4 位代码。”

最佳答案

我会尝试创建一个单独的函数来调用 Alert.alert('foo')。然后在您的 TouchableHighlight 中,使用 onPress={this.onYourFunctionName.bind(this)}

关于javascript - Alert.alert() 在 React Native 0.36.1 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41855585/

相关文章:

objective-c - NSLog中的前缀是什么意思?

javascript - Angular Controller 错误: 'Controller is not a function, got undefined'

javascript - POST 请求不识别 header

android - Rxandroid ble 重连处理指南

Android studio - 从 fragment 启动二维码扫描器

ios - 为什么 UDimmingView 总是覆盖屏幕主边界?

javascript - JavaScript 中的无序字典

javascript - 类别子类别树问题 javascript

android - 以编程方式更改从 API 响应获得的颜色资源的值

ios - 2个 View Controller 之间的Segue(模态)