React Native中Ionicons矢量图标无法渲染问题求助
我正在按照React Navigation的底部Tab导航教程开发,使用的包版本如下:
"@react-navigation/bottom-tabs": "^6.5.20", "@react-navigation/native": "^6.1.17",
相关组件及Ionicons的导入代码:
import { NavigationContainer } from '@react-navigation/native'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import Ionicons from 'react-native-vector-icons/Ionicons';
我从Ionicons库选取的图标在自定义代码里无法渲染(代码基于教程修改,适配我的3个页面):
const Tab = createBottomTabNavigator(); export default function App() { return ( <NavigationContainer> <Tab.Navigator screenOptions={({route}) => ({ tabBarIcon: ({focused, color, size}) => { let iconName; if (route.name === 'Home') { iconName = focused ? 'home' : 'home-outline'; } else if (route.name === 'Appearance') { iconName = focused ? 'color-palette' : 'color-palette-outline'; } else if (route.name === 'Quotes') { iconName = focused ? 'chatbox-ellipses' : 'chatbox-ellipses-outline'; } else { // 默认图标 iconName = focused ? 'home' : 'home-outline'; } return <Ionicons name={iconName} size={size} color={color} />; }, tabBarActiveTintColor: 'blue', tabBarInactiveTintColor: 'gray', })}> <Tab.Screen name="Home" component={HomeScreen} /> <Tab.Screen name="Appearance" component={AppearanceScreen} /> <Tab.Screen name="Quotes" component={QuotesScreen} /> </Tab.Navigator> </NavigationContainer> ); }
在Android模拟器中显示效果:
我尝试使用教程中的原始代码:
export default function App() { return ( <NavigationContainer> <Tab.Navigator screenOptions={({ route }) => ({ tabBarIcon: ({ focused, color, size }) => { let iconName; if (route.name === 'Home') { iconName = focused ? 'ios-information-circle' : 'ios-information-circle-outline'; } else if (route.name === 'Settings') { iconName = focused ? 'ios-list' : 'ios-list-outline'; } return <Ionicons name={iconName} size={size} color={color} />; }, tabBarActiveTintColor: 'tomato', tabBarInactiveTintColor: 'gray', })} > <Tab.Screen name="Home" component={HomeScreen} /> <Tab.Screen name="Settings" component={SettingsScreen} /> </Tab.Navigator> </NavigationContainer> ); }
但图标显示为问号:
内容的提问来源于stack exchange,提问作者Daggerpov
相关产品推荐
相关产品推荐

