【问题标题】:How do navigate to a tab from another tab using react navigation v5如何使用反应导航 v5 从另一个选项卡导航到一个选项卡
【发布时间】:2020-12-13 09:48:25
【问题描述】:

我有 3 个选项卡,每个选项卡都包含一组堆栈导航器。

  1. 首页堆栈
    const HomeNavigator = createStackNavigator();

    const HomeStackNavigator = ({navigation, route}) => {
      return (
        <HomeNavigator.Navigator>
          <HomeNavigator.Screen
            name="Home"
            component={Home}
          />
          <HomeNavigator.Screen
            name="Profile"
            component={Profile}
          />
          <HomeNavigator.Screen
            name="Settings"
            component={Settings}
          />
        </HomeNavigator.Navigator>
      );
    };

  1. 存储堆栈

    const StoreNavigator = createStackNavigator();

    const StoreStackNavigator = ({navigation, route}) => {
      return (
        <StoreNavigator.Navigator>
          <StoreNavigator.Screen
            name="OurStore"
            component={Store}
          />
        </StoreNavigator.Navigator>
      );
    };

  1. 社区堆栈
    const CommunityNavigator = createStackNavigator();

    const CommunityStackNavigator = ({navigation, route}) => {
      return (
        <CommunityNavigator.Navigator>
          <CommunityNavigator.Screen
            name="Community"
            component={Community}
          />
          <CommunityNavigator.Screen
            name="CommunityReply"
            component={CommunityReply}
            options={communityReplyOptions}
          />
          <CommunityNavigator.Screen
            name="AskCommunity"
            component={AskCommunity}
          />
        </CommunityNavigator.Navigator>
      );
    };

标签导航器


    const MainNavigator = createBottomTabNavigator();

    const MainTabNavigator = () => {
      return (
        <MainNavigator.Navigator
          screenOptions={tabScreenOptions}
          tabBarOptions={tabBarOptions}>
          <MainNavigator.Screen
            name="HomeTab"
            component={HomeStackNavigator}
            options={{tabBarLabel: 'Home'}}
          />
          <MainNavigator.Screen
            name="StoreTab"
            component={StoreStackNavigator}
            options={{tabBarLabel: 'Store'}}
          />
          <MainNavigator.Screen
            name="CommunityTab"
            component={CommunityStackNavigator}
            options={{tabBarLabel: 'Community'}}
          />
        </MainNavigator.Navigator>
      );
    };

现在单击按钮时的主页选项卡我需要导航到社区选项卡导航器内的社区回复屏幕。有人可以帮我解决这个问题吗

React 导航版本

"@react-navigation/bottom-tabs": "^5.8.0"

"@react-navigation/native": "^5.7.3"

"@react-navigation/stack": "^5.9.0"

【问题讨论】:

    标签: react-native react-navigation react-navigation-stack react-navigation-bottom-tab


    【解决方案1】:

    以下应该在这种情况下工作:

    this.props.navigation.navigate('CommunityTab', { screen: 'CommunityReply' });
    

    【讨论】:

    • 你知道navigation.reset怎么做吗?我是这样做的,但是没有用。 this.props.navigation.reset({ index: 0, routes: [{name: 'CommunityTab', screen: 'CommunityReply'}], })
    • 谢谢,它很有效
    猜你喜欢
    • 2020-12-14
    • 2013-12-19
    • 1970-01-01
    • 2013-02-27
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多