问题描述
在RN开发过程中,项目运行在android
平台时报如下错误信息:
TypeError: expected dynamic type int64', but has type 'null'
初次接触该类型问题,一脸懵。
问题分析
{
(()=>{
return this.state.data.length?
[<Text key={"title"} style={{textAlign: "center", color: "#999", fontSize: px2dp(12), paddingTop: 20}}>{"近期订单"}</Text>]
.concat(this.state.data.map((item, i) => {
return <Item key={i} {...item} />
})):this._noData()
})()
}
在计算fontSize时,应用如下计算方法:
export default function px2dp(px) {
// return Math.round(px * deviceW / basePx)
return px * deviceW / basePx
}
计算结果可能会出现float
类型的数据。导致以上错误信息的发生。
解决措施
计算方法做如下修改:
export default function px2dp(px) {
// 四舍五入操作
return Math.round(px * deviceW / basePx)
}