那些ReactNative的坑

今天中午测试的时候,发现一个问题。

一个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转过来的菜鸟吐槽一句,这转换字符串的语句真够精炼的!)


然后我们觉得如果每个地方都这么改,要费很多时间,然后大腿鑫就在底层封装的方法里,把这个方法给改了,然后问题就圆满解决了!!


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/deiame/article/details/53638845
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭