React native 如何从登录屏幕导航到包含底部选项卡的主屏幕
请帮忙,我不知道该怎么做, 我不知道如何从登录页面导航到包含选项卡的主屏幕,我只知道如何从登录页面导航到主屏幕,但没有底部选项卡 我得到的错误是:路由“App”的组件必须是React组件React native 如何从登录屏幕导航到包含底部选项卡的主屏幕,react-native,react-navigation,React Native,React Navigation,请帮忙,我不知道该怎么做, 我不知道如何从登录页面导航到包含选项卡的主屏幕,我只知道如何从登录页面导航到主屏幕,但没有底部选项卡 我得到的错误是:路由“App”的组件必须是React组件 const HomeStack = createStackNavigator( { //Defination of Navigaton from home screen Home: { screen: HomeScreen }, ViewBookings: { scree
const HomeStack = createStackNavigator(
{
//Defination of Navigaton from home screen
Home: { screen: HomeScreen },
ViewBookings: {
screen: ViewBookingsScreen,
navigationOptions: {
//Header customization of the perticular Screen
headerStyle: {
backgroundColor: '#0892d0',
},
headerTintColor: '#FFFFFF',
title: 'View All Bookings',
//Header title
},
},
},
{
defaultNavigationOptions: {
//Header customization of the perticular Screen
headerStyle: {
backgroundColor: '#0892d0',
},
headerTintColor: '#FFFFFF',
title: 'Welcome, User',
//Header title
},
}
);
const AuthStack = createStackNavigator({ SignIn: SignInScreen });
const App = createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
App: TabStack,
Auth: AuthStack,
},
{
initialRouteName: 'AuthLoading',
}
);
const TabStack = createBottomTabNavigator(
{
Home : { screen: HomeStack },
Bookings: { screen: BookingStack},
Reminders: { screen: ReminderStack},
},
{
defaultNavigationOptions: ({ navigation }) => ({
tabBarIcon: ({ focused, horizontal, tintColor }) => {
const { routeName } = navigation.state;
let IconComponent = Ionicons;
let iconName;
if (routeName === 'Home') {
iconName = `ios-home`;
} else if (routeName === 'Bookings') {
iconName = `ios-book`;
} else if (routeName === 'Reminders') {
iconName = `ios-alarm`;
}
return <IconComponent name={iconName} size={25} color={tintColor} />;
},
}),
tabBarOptions: {
activeTintColor: '#0892d0',
inactiveTintColor: 'gray',
},
}
);
export default createAppContainer(App);
const HomeStack=createStackNavigator(
{
//从主屏幕定义导航
主屏幕:{屏幕:主屏幕},
浏览及预订:{
屏幕:查看预订屏幕,
导航选项:{
//垂直屏幕的标题自定义
头型:{
背景颜色:“#0892d0”,
},
HeaderIntColor:“#FFFFFF”,
标题:“查看所有预订”,
//标题
},
},
},
{
默认导航选项:{
//垂直屏幕的标题自定义
头型:{
背景颜色:“#0892d0”,
},
HeaderIntColor:“#FFFFFF”,
标题:“欢迎,用户”,
//标题
},
}
);
const AuthStack=createStackNavigator({SignIn:SignInScreen});
const App=createSwitchNavigator(
{
AuthLoading:AuthLoadingScreen,
应用程序:TabStack,
Auth:AuthStack,
},
{
initialRouteName:“AuthLoading”,
}
);
const TabStack=createBottomTabNavigator(
{
主页:{screen:HomeStack},
预订:{screen:BookingStack},
提醒:{屏幕:提醒斯塔克},
},
{
defaultNavigationOptions:({navigation})=>({
tabBarIcon:({聚焦、水平、着色})=>{
const{routeName}=navigation.state;
让IconComponent=Ionicons;
让我来;
如果(routeName==='Home'){
iconName='ios主页';
}else if(routeName==‘预订’){
iconName=`ios图书`;
}否则如果(routeName===‘提醒’){
iconName=`ios报警`;
}
返回;
},
}),
选项卡选项:{
activeTintColor:“#0892d0”,
颜色:“灰色”,
},
}
);
导出默认createAppContainer(应用程序);
在主屏幕中,如果您正在导入登录组件,如
import {Whatever} from 'Wherever'
换成
import Whatever from 'Wherever'
试着去掉花括号。因为正如我看到的,您在导出时使用了默认值。因此,当我们使用默认值时,在导入时不使用大括号。一旦身份验证成功,您必须调用 这个.props.navigation.navigate(“Home”) 这将用户导航到主屏幕
您可以根据自己的要求决定路线如果问题中没有包含这些文件。你怎么知道他的文件夹结构的?