React Native外部样式表无法更新组件的问题求助
问题排查:React Native组件无法应用外部样式表
我帮你排查了下代码,核心问题出在导入导出的语法不匹配上,导致组件根本没拿到正确的样式对象。咱们拆解来看:
问题根源
你的样式汇总文件
index.js用的是命名导出:import * as GoogleInputBox from './GoogleInputStyle' export { GoogleInputBox }准确来说,你从
GoogleInputStyle.js导入了命名导出的GoogleInputBox,又把它作为命名项重新导出。但在
HomeScreen.js里,你用的是默认导入:import GoogleInputBox from "../Styles";这种导入方式会去找
../Styles/index.js里的export default内容,而你并没有设置默认导出,所以GoogleInputBox实际上是undefined或者空对象,自然无法应用样式。
两种修复方案
方案一:保持命名导出,调整导入语法
把HomeScreen.js里的导入改成命名导入,和导出规则对应:
// HomeScreen.js import { GoogleInputBox } from "../Styles";
方案二:改成默认导出,保留现有导入语法
修改index.js,将命名导出改为默认导出:
// index.js import { GoogleInputBox } from './GoogleInputStyle' export default GoogleInputBox;
这样HomeScreen.js里的默认导入就能正确拿到样式对象了。
额外验证点
确认你的样式键(container、textInput、textInputContainer)完全符合GooglePlacesAutocomplete组件要求的样式结构,从代码看是没问题的,修复导入导出后应该就能正常生效。
内容的提问来源于stack exchange,提问作者IsaiahGore96
相关产品推荐
相关产品推荐

