反应导航-在2个标签导航之间切换

时间:2020-08-07 13:06:15

标签: reactjs react-native react-navigation

朋友,我尝试了很多次,但是我做不到。如何在2个标签导航之间进行切换,例如1.标签导航成为成员并登录,2.标签导航主页,设置等。我在版本3中进行此操作,但是由于某种原因,我现在无法使用,感谢所有人帮助过的朋友

1 个答案:

答案 0 :(得分:1)

这是一个简短的代码片段,我仅显示一个选项卡导航器的完整逻辑以供参考,但是第二个可以遵循相同的逻辑。

使用React Navigation v5.x.x 它通过将导航器嵌套在屏幕中来工作

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

 const HomeTabsNavigator = createBottomTabNavigator();

      const HomeTabRenderer = () => {
        const initialRouteName = 'Feed';
        const initialRouteParams = {};
        return (
          <HomeTabsNavigator.Navigator
            initialRouteName={initialRouteName}
            initialRouteParams={initialRouteParams}
          >
            <HomeTabsNavigator.Screen name={'Feed'} component={'<add react component>'} />
            <HomeTabsNavigator.Screen name={'Dashboard'} component={'<add react component>'} />
            <HomeTabsNavigator.Screen name={'Friends'} component={'<add react component>'} />
          </HomeTabsNavigator.Navigator>
        );
      };

      const Stack = createStackNavigator();
      const StackRenderer = () => {
        const initialRouteName = 'FirstTabNav';
        const initialRouteParams = {};
        return (
        <NavigationContainer>
          <Stack.Navigator initialRouteName={initialRouteName}
            initialRouteParams={initialRouteParams}
            headerMode={'none'}
          >
            <Stack.Screen name={'FirstTabNav'} component={HomeTabRenderer} />
            <Stack.Screen name={'SecondTabNav'} component={OtherTabRenderer} />
          </Stack.Navigator>
        </NavigationContainer>
        )
      }