React Native react-navigation底部标签栏HomeScreen的tabBarIcon不显示如何解决
问题根因
你代码里HomeScreen对应的Tab.Screen组件的配置属性名写错了:React组件Props对大小写敏感,react-navigation要求的配置属性是小写开头的options,但你给HomeScreen写的是大写开头的Options,导致该标签的tabBarIcon、自定义颜色配置全部未生效,因此图标不显示,激活态也走了默认灰色样式。
解决方案
把HomeScreen对应的Tab.Screen里的Options={{改为options={{即可,修改后代码片段如下:
<Tab.Screen name="HomeScreen" component={HomeStack} options={{ // 仅需将首字母大写的O改为小写o即可 tabBarIcon: ({ focused, color }) => ( <AntDesign name="home" size={focused ? 29 : 24} color={color} /> ), tabBarLabel: "Home", tabBarActiveTintColor: "blue", tabBarInactiveTintColor: "black", }} />
优化建议
所有标签的tabBarActiveTintColor、tabBarInactiveTintColor配置完全一致,可以统一提取到Tab.Navigator的screenOptions中,减少重复代码:
<Tab.Navigator initialRouteName="HomeScreen" screenOptions={{ headerShown: false, tabBarActiveTintColor: "blue", tabBarInactiveTintColor: "black" }} > <!-- 后续每个Tab.Screen都不需要再重复写这两个颜色配置 --> </Tab.Navigator>
内容的提问来源于stack exchange,提问作者sabriDhibi
相关产品推荐
相关产品推荐

