所以我试图在我的ReactNative项目中添加一个底部导航栏。但是每次我试图运行这个项目时,我都会得到一个错误。
我得到的信息是:
我也得到警告说:底部选项卡导航器:“tabBarOptions”已弃用。请将选项迁移到“screenOptions”。
我已经尝试编辑编辑Ionicons代码,通过这样做:
return <IonIcon icon={iconName.props}></IonIcon>;
代码如下:
import React, { Component } from "react";
import { Text, View, StyleSheet, Image, TextInput, ScrollView, SafeAreaView, TouchableOpacity } from "react-native";
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
// Screens
import HomeScreen from './screens/HomeScreen';
import DetailsScreen from './screens/DetailsScreen';
import SettingsScreen from './screens/SettingsScreen.js';
//Screen names
const homeName = "Home";
const detailsName = "Details";
const settingsName = "Settings";
const Tab = createBottomTabNavigator();
function MainContainer() {
return (
<NavigationContainer>
<Tab.Navigator
initialRouteName={homeName}
screenOptions={({ route }) => ({
tabBarIcon: ({ focused, color, size }) => {
let iconName;
let rn = route.name;
if (rn === homeName) {
iconName = focused ? 'home' : 'home-outline';
} else if (rn === detailsName) {
iconName = focused ? 'list' : 'list-outline';
} else if (rn === settingsName) {
iconName = focused ? 'settings' : 'settings-outline';
}
// You can return any component that you like here!
return <Ionicons name={iconName} size={size} color={color} />;
},
})}
tabBarOptions={{
"tabBarActiveTintColor": "tomato",
"tabBarInactiveTintColor": "grey",
"tabBarLabelStyle": {
"paddingBottom": 10,
"fontSize": 10
},
"tabBarStyle": [
{
"display": "flex"
},
null
]
}}>
<Tab.Screen name={homeName} component={HomeScreen} />
<Tab.Screen name={detailsName} component={DetailsScreen} />
<Tab.Screen name={settingsName} component={SettingsScreen} />
</Tab.Navigator>
</NavigationContainer>
);
}
export default MainContainer;
1条答案
按热度按时间wrrgggsh1#
您是否使用expo?如果是,则需要导入。