您的位置:首页 > Web前端 > React

那些ReactNative的坑

2016-12-14 14:18 260 查看
今天中午测试的时候,发现一个问题。

一个ReactNative的App,跑在iPhone5s上,输入用户名、密码,程序崩溃,提示“ Invalid data message - all must be length: 8 ”。

但问题在于,在别人的手机上跑,以及在模拟器上跑,都没有问题,让我一度怀疑手里的iPhone5s是不是坏了。。。

找了一中午原因都没找到,最后求助大腿鑫,大腿鑫通过注掉代码,一遍一遍的尝试下,终于发现问题出在Alert上。

先来贴那段有问题的Alert,原先是这么写的:

Alert.alert("提示", error, [{
text: '确定', onPress: () => {}
}])


然后我们把它换成这样试了一下,发现它不崩了:

alert(error)


然后问题就来了,它弹出一个提示,"Network request failed",然后我们定睛一看,原来是手机的wifi和流量都关了,坑爹啊!!!

再把wifi打开,发现它好使了。

我们回过头来再说那个Alert的问题,它崩溃是因为抛出的error是一个object,不是一个单纯的字符串。

所以归根结底,还是代码有问题。然后我们把它改成这样:

Alert.alert("提示", error+'', [{
text: '确定', onPress: () => {}
}])
就是在原先的基础上+' ',转换成字符串,就OK了。( 作为从iOS转过来的菜鸟吐槽一句,这转换字符串的语句真够精炼的!)

然后我们觉得如果每个地方都这么改,要费很多时间,然后大腿鑫就在底层封装的方法里,把这个方法给改了,然后问题就圆满解决了!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: