Expo SDK 48升级至49后出现RCTText fontWeight属性更新错误
解决Expo SDK 49升级后"fontWeight"属性更新错误的方案
下面是针对你遇到的问题的可行排查和解决步骤:
排查第三方UI组件库的兼容性
SDK 49对fontWeight的类型校验更严格,很多第三方UI库(比如react-native-paper、NativeBase等)旧版本可能存在将数字字重以字符串形式传递的情况(如fontWeight: '500')。检查项目依赖的UI库版本,升级到适配Expo SDK 49的最新版本。彻底清理缓存与依赖
旧缓存或依赖残留可能导致兼容问题,执行以下命令:- 清除Expo缓存并重启:
npx expo start --clear - 重新安装依赖:
rm -rf node_modules package-lock.json && npm install
- 清除Expo缓存并重启:
检查全局样式/主题配置
查看项目中的全局样式文件、主题Provider(如styled-components的主题、自定义ThemeContext),确认是否存在统一设置的fontWeight为字符串类型数字(如fontWeight: '400'),将其改为数字类型(fontWeight: 400)。定位触发错误的具体组件
使用React Native DevTools查看崩溃时的组件调用栈,精准定位到哪个组件的fontWeight设置有问题。如果是自定义组件,检查其样式传递逻辑;如果是第三方组件,参照第一步升级或临时修改组件样式。验证自定义字体配置
若项目使用了自定义字体,确认字体文件对应的字重值与代码中使用的fontWeight匹配。比如部分字体仅支持normal/bold而非数字字重,需调整代码中的取值以适配字体实际支持的字重。
内容的提问来源于stack exchange,提问作者csabit1000
相关产品推荐
相关产品推荐

