我正在尝试使用React Native中的Alert组件在Android和iOS之间创建一致的体验。我正在尝试运行示例警报。我导入Alert组件(为简洁起见省略了其他导入):
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')},
]
)
但是,我收到以下错误:
我找到了this post with a similar issue但是,我认为我的问题有所不同,因为:
我很难过如何解决这个问题。有没有其他人有运气在0.36版上工作?
更新
根据要求,以下是我尝试使用警报的示例:
<TouchableHighlight style={styles.button} underlayColor='transparent' onPress={() => Alert.alert(
'Alert Title',
'Alert Message'
)}>
这只是代码失败的一个实例。我已尝试跨多个组件和方法的多个警报,但没有一个正在工作。
更新2
值得注意的是,标准alert()
功能可以正常运行而不会崩溃。但是,我无法指定警报的标题。例如,下面的代码将返回一个标题为#34; Alert&#34;和消息为&#34;请输入一个4位数代码&#34;。
alert("Invalid Code", "Please enter a 4 digit code.")
我想要的输出是标题=&#34;无效代码&#34;和消息=&#34;请输入一个4位数代码。&#34;
答案 0 :(得分:1)
我会尝试创建一个单独的函数来调用Alert.alert(&#39; foo&#39;)。然后在TouchableHighlight中,使用onPress={this.onYourFunctionName.bind(this)}