Expo SDK42安卓端RCTView borderStyle属性更新报错求解决方案
错误根因
安卓端React Native对样式属性的类型校验比iOS严格,所有需要传入数值的样式字段(如borderRadius、padding、margin等)不能接受字符串格式的值,iOS会自动做类型兼容,安卓则会抛出类型转换错误。你代码中分割线的View样式里borderRadius: "50%"传入了字符串类型的百分比值,是触发本次报错的原因。
修复方案
找到下划线部分的View样式,将字符串类型的borderRadius改为数值类型即可:
// 原错误写法 borderRadius: "50%" // 修改为数值即可,当前View高度为2,设为1即可实现两端圆角效果 borderRadius: 1
补充优化点:你代码中SafeAreaView的paddingBottom: -tabBarHeight写法不规范,padding不支持负值,若要实现内容向上偏移抵消tabBar高度的效果,可改为marginBottom: -tabBarHeight或者使用定位的bottom属性调整。
后续如果遇到同类安卓独有样式报错,可全局排查所有样式中是否存在把数值写为字符串的情况,统一修改为数字类型即可解决。
内容的提问来源于stack exchange,提问作者BISHAL SAHA
相关产品推荐
相关产品推荐

