React native Alert.Alert AlertManager带有参数异常

React native Alert.Alert AlertManager带有参数异常,react-native,React Native,我正在尝试整理此错误消息: 使用参数调用目标AlertManager上的alerWithArgs时引发异常'-[\u NSDisctionary0 length]:发送到实例0x78964120的无法识别的选择器' 它来自我的代码行: const response.error = 'bad credentials' Alert.alert('Login error', response.error, [{ text: 'Ok' }]) 即使我从Facebook文档中复制/粘贴,也会出现以下错误

我正在尝试整理此错误消息:

使用参数调用目标AlertManager上的alerWithArgs时引发异常'-[\u NSDisctionary0 length]:发送到实例0x78964120的无法识别的选择器'

它来自我的代码行:

const response.error = 'bad credentials'
Alert.alert('Login error', response.error, [{ text: 'Ok' }])
即使我从Facebook文档中复制/粘贴,也会出现以下错误:

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')},
      ]
    )
从错误消息中可以明显看出,组件已导入且全部已导入。我想是吧


有人见过这个吗?不知道该如何理解它?

对于这个用户来说已经很晚了,但是在这里添加它只是为了防止其他人发现它有用

通过在expo中创建一个没有消息的警报来解决此问题,它只有标题和按钮


它导致了上面提到的错误,不仅是因为它从本质上破坏了世博会,而且从那时起,它还导致其他所有警报都失败,看起来就像海报上的问题一样。我必须完全关闭expo应用程序,而不仅仅是重新加载,当然还要为消息添加一个空的“”

重新启动expo将解决此问题

使用expo,我一直遇到此问题,因为我会忘记添加所需的两个字符串参数:

Alert.alert(
  'Alert Title',
  'My Alert Msg',
  [ ...
Alert.Alert显式地需要第一个作为警报的标题,第二个作为消息的标题我仍然可以复制这个问题:如果省略一个字符串一次,就会出现此错误,消息仍将持续出现-即使您随后传递了正确的字符串参数-,除非应用程序和模拟器/expo都重新启动


这样做100%地解决了这一问题

对于任何看到这一点的人来说,这是世博会的一个错误,一旦你得到警告。警告错误,但不在expo中添加描述参数,它将显示错误。 除非重新启动打包机和expo,否则错误将持续很长时间

解决方案:
重新启动程序包

您使用的是什么版本的RN?使用的是exponentJS v12。。所以rn 0.40.0你认为这可能是一个指数,而不是rn问题??我很困惑,我相信指数12是以0.37为基础的。尝试更新到v13,它是rn 0.40,但我不必添加实际的消息,只需关闭stop expo,然后将其重新打开。对于可搜索性,我遇到了此问题,但有一个稍微不同的错误消息:
[\NSSingleObjectArrayI length]:无法识别的已发送到实例…
。将此标记为答案,因为它概述了emulator和expo将重新启动,而我在以前的答案中错过了这一点。只有在完全重新启动我的应用程序并重新启动expo CLI后,警报消息才起作用(一旦正确的参数就位)。