React Native Navigation 5 中的自定义图像
Custom Image in React Native Navigation 5
我有导航:
const Tab = createBottomTabNavigator();
const TabNavigator = () => (
<NavigationContainer theme={navigationTheme}>
<Tab.Navigator tabBarOptions={{
showLabel: false,
}}>
<Tab.Screen name="Home" component={HomeScreen} options={{tabBarIcon: <Image style={{width:22, height:22}} source = {require('../../assets/location.png')} />}} />
<Tab.Screen name="Search" component={ProfileNavigator} options={{tabBarIcon: props => <SimpleLineIcons name="people" size={24} color="black" />}}/>
<Tab.Screen name="Messages" component={MessagesScreen} options={{tabBarIcon: props => <AntDesign name="message1" size={24} color="black" />}} />
<Tab.Screen name="Settings" component={SettingsNavigator} options={{tabBarIcon: props => <SimpleLineIcons name="settings" size={24} color="black" />}} />
</Tab.Navigator>
</NavigationContainer>
)
我试图在导致错误的第一个选项卡上使用自定义图像:
<Tab.Screen name="Home" component={HomeScreen} options={{tabBarIcon: <Image style={{width:22, height:22}} source = {require('../../assets/location.png')} />}} />
这很好用:
<Tab.Screen name="Settings" component={SettingsNavigator} options={{tabBarIcon: props => <SimpleLineIcons name="settings" size={24} color="black" />}} />
这是错误:
TypeError: renderIcon is not a function. (In 'renderIcon({
focused: true,
size: size,
color: activeTintColor
})', 'renderIcon' is an instance of Object)
问题是我正在尝试为我的标签栏图标使用自定义图像。
尝试像这样将 Image 组件传递给 tabBarIcon Prop
<Tab.Screen
name={"Home"}
component={HomeScreen}
options={{
tabBarIcon: () => {
return <Image style={styles.icon} source={require('../../assets/location.png'} />
}
}}
/>
有关 tabBar Props 的更多详细信息:Docs
我有导航:
const Tab = createBottomTabNavigator();
const TabNavigator = () => (
<NavigationContainer theme={navigationTheme}>
<Tab.Navigator tabBarOptions={{
showLabel: false,
}}>
<Tab.Screen name="Home" component={HomeScreen} options={{tabBarIcon: <Image style={{width:22, height:22}} source = {require('../../assets/location.png')} />}} />
<Tab.Screen name="Search" component={ProfileNavigator} options={{tabBarIcon: props => <SimpleLineIcons name="people" size={24} color="black" />}}/>
<Tab.Screen name="Messages" component={MessagesScreen} options={{tabBarIcon: props => <AntDesign name="message1" size={24} color="black" />}} />
<Tab.Screen name="Settings" component={SettingsNavigator} options={{tabBarIcon: props => <SimpleLineIcons name="settings" size={24} color="black" />}} />
</Tab.Navigator>
</NavigationContainer>
)
我试图在导致错误的第一个选项卡上使用自定义图像:
<Tab.Screen name="Home" component={HomeScreen} options={{tabBarIcon: <Image style={{width:22, height:22}} source = {require('../../assets/location.png')} />}} />
这很好用:
<Tab.Screen name="Settings" component={SettingsNavigator} options={{tabBarIcon: props => <SimpleLineIcons name="settings" size={24} color="black" />}} />
这是错误:
TypeError: renderIcon is not a function. (In 'renderIcon({
focused: true,
size: size,
color: activeTintColor
})', 'renderIcon' is an instance of Object)
问题是我正在尝试为我的标签栏图标使用自定义图像。
尝试像这样将 Image 组件传递给 tabBarIcon Prop
<Tab.Screen
name={"Home"}
component={HomeScreen}
options={{
tabBarIcon: () => {
return <Image style={styles.icon} source={require('../../assets/location.png'} />
}
}}
/>
有关 tabBar Props 的更多详细信息:Docs