我正在尝试解决此错误消息:
Exception' - [_ NSDisctionary0 length]:发送到实例0x78964120的无法识别的选择器'在使用params在目标AlertManager上调用alerWithArgs时被抛出
它来自我的代码行:
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')},
]
)
从错误消息中明显导入组件。我想。
有没有人碰到过这个?不知道该怎么做?
答案 0 :(得分:31)
对于这个用户来说已经很晚了,但是在这里添加它以防其他人发现它有用。
通过在没有消息的情况下在展会中创建提醒来设置导致此问题,它只有标题和按钮。
它引起了上面提到的错误,不仅仅是因为它基本上打破了世博会,并导致其他所有警报也失败,从那时起看起来像海报一样的问题。我不得不完全关闭expo应用程序,而不仅仅是重新加载,当然还要为消息添加一个空的''。
答案 1 :(得分:6)
重新启动博览会将解决此问题
答案 2 :(得分:2)
对于任何看到这一点的人来说,这是一旦您获得警报后,博览会的一个错误。在没有在博览会中添加description参数的情况下警告错误,它将显示错误。 该错误将持续很长时间,除非您重新启动打包程序和博览会!
解决方案: 重新启动程序包!
答案 3 :(得分:1)
使用expo时,我一直遇到这个问题,因为我忘记了同时添加所需的字符串参数两者:
Alert.alert(
'Alert Title',
'My Alert Msg',
[ ...
Alert.alert明确需要警报标题的第一个和消息的第二个。我仍然可以复制该问题:如果您忽略其中一个字符串一次,但出现此错误,即使您随后传递了正确的字符串参数,消息仍会不断出现-除非应用程序 AND 和模拟器/ expo重新启动。
这样做可以100%地解决问题