首页 > 解决方案 > React Navigator 5; Tab Navigator and Stack Navigator

问题描述

I am very new to React/React Native...

I am working with React Navigator 5. I have Tab Navigation on Home Screen and I want to create Stack Navigation (with new screens outside Tab Navigation container) for two "tabs" in the Tab Navigation structure.
Is this what's termed "nested navigation"?

Thanks

标签: reactjsreact-nativereact-navigation-v5

解决方案


创建根堆栈容器和选项卡容器。如果要在堆栈容器中显示选项卡,请将组件作为选项卡容器。

例如:

import React from "react";

import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
import { NavigationContainer } from "@react-navigation/native";
import { createStackNavigator } from "@react-navigation/stack";

const Tab = createBottomTabNavigator();
const Stack = createStackNavigator();

const MyTabs = () => {
  const Navigation = () => (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="Login" component={Login} />
        <Stack.Screen name="Home" component={BottomNav} />
        <Stack.Screen name="Profile" component={Profile} />
      </Stack.Navigator>
    </NavigationContainer>
  );
  
  const BottomNav = () => (
    <Tab.Navigator>
      <Tab.Screen name="Streams" component={Streams} />
      <Tab.Screen name="Tweets" component={Tweets} />
      <Tab.Screen name="Reported" component={Reported} />
      <Tab.Screen name="Leaderboard" component={Leaderboard} />
    </Tab.Navigator>
  );

  return <Navigation />
}


export default MyTabs;

推荐阅读