TypeError: expected dynamic type 'string', but had type 'object'
来源:互联网 发布:剑三喵姐捏脸数据 编辑:程序博客网 时间:2024/05/22 14:07
将React Native的版本升级到最新的0.45.1之后,出现如下错误:
通过调试无法定位错误的地方,于是从错误提示入手,注意到错误发生在调用方法showAlert的时候,猜测是Alert参数类型出错,回头看使用Alert的地方,代码如下:
....catch(error => { Alert.alert('提示', error, [ {text:'确定' }]) this.state.logining = false;})...
很明显,error为object 不是 string,查看Alert.js的源码,如下:
class Alert { static alert( title: ?string, message?: ?string, buttons?: Buttons, options?: Options, type?: AlertType, ): void { if (Platform.OS === 'ios') { if (typeof type !== 'undefined') { console.warn('Alert.alert() with a 5th "type" parameter is deprecated and will be removed. Use AlertIOS.prompt() instead.'); AlertIOS.alert(title, message, buttons, type); return; } AlertIOS.alert(title, message, buttons); } else if (Platform.OS === 'android') { AlertAndroid.alert(title, message, buttons, options); } }}
可见参数message为string类型,修改如下,重新run不再报错:
...catch(error => { Alert.alert('提示', error.message, [ {text:'确定' }]) this.state.logining = false;})...
注:
Alert.js的本地路径为:
your react_native project/node-modules/react-native/Libraries/Alert/Alert.js
或Github地址:
https://github.com/facebook/react-native/blob/0a712f5335d1bf04c4ff93a79b14c9e23dbd5831/Libraries/Alert/Alert.js
阅读全文
0 0
- TypeError: expected dynamic type 'string', but had type 'object'
- React native 安卓上传图片报错 TypeError:expected dynamic type 'string' but had type 'object'
- had objects of type "java.lang.String" but expected signature "org.apache.struts.upload.FormFile"
- SQLException: Invalid parameter object type. Expected 'java.util.ArrayList' but found 'java.util.Ar
- Hessian php type string expected 错误
- expected 'float **' but argument is of type 'float (*)[5]'
- Expected mime type application/octet-stream but got text/html.
- Bean named 'BService' is expected to be of type 'path1' but was actually of type 'path2'
- is expected to be of type but was actually of type 'com.sun.proxy.$Proxy70'
- TypeError: object of type 'NoneType' has no len()
- TypeError: object of type 'zip' has no len()
- TypeError: unhashable type: 'dict'
- TypeError: unhashable type: 'list'
- TypeError: unhashable type: 'list'
- django报错:TypeError: __str__returned non-string (type bytes)
- Object Type
- json type string 转 js json object.
- TypeError: Input 'split_dim' of 'Split' Op has type float32 that does not match expected type of int
- log4j的使用
- dwr中的部分问题和总结
- UltraEdit常用快捷键
- Spring定时器StopWatch
- LeetCode 633. Sum of Square Numbers
- TypeError: expected dynamic type 'string', but had type 'object'
- mybatis 教程(mybatis in action)
- Java中的session详解
- Hibernate之主键生成策略
- CF div2 C
- 帮你节省时间的100条建议
- Spring学习笔记(9)——注入参数
- ACM中的浮点数精度处理
- PHP 五种获取文件中文件的扩展名