React Native如何以编程方式导航到选项卡导航器上的堆栈屏幕

eblbsuwk  于 2022-12-30  发布在  React
关注(0)|答案(2)|浏览(230)

我一直在不懈地寻找这个问题的答案。
我有一个选项卡导航器:

const AppNavigator = () => {
return (
<Tab.Navigator initialRouteName="Search">
  <Tab.Screen
    name="Home"
    children={() => <HomeScreen />}
    options={{
      tabBarIcon: ({ color, size }) => (
        <MaterialCommunityIcons name="home" color={color} size={size} />
      ),
    }}
  />
  <Tab.Screen
    name="Search"
    children={() => <SearchContainerNavigator />}
    options={{
      tabBarIcon: ({ color, size }) => (
        <FontAwesome5 name="search" color={color} size={size} />
      ),
    }}
  />
  <Tab.Screen
    name="Feedback"
    children={() => <FeedbackScreen />}
    options={{
      tabBarIcon: ({ color, size }) => (
        <MaterialCommunityIcons name="email" color={color} size={size} />
      ),
    }}
  />
</Tab.Navigator>
);
};

这个堆栈导航器:

const SearchContainerNavigator = () => (
<Stack.Navigator screenOptions={{ headerShown: false}} initialRouteName="SearchSelect">
    <Stack.Screen name="SearchSelect" component={SearchSelectScreen} />
    <Stack.Screen name="AircraftSearch" component={AircraftSearchScreen} />
    <Stack.Screen name="AircraftResults" component={AircraftResultsScreen} />
    <Stack.Screen name="AircraftDetail" component={AircraftDetailScreen} />
    <Stack.Screen name="BrandSearch" component={BrandSearchScreen} />
    <Stack.Screen name="BrandResults" component={BrandResultsScreen} />
    <Stack.Screen name="BrandDetail" component={BrandDetailScreen} />
    <Stack.Screen name="Favourites" component={FavouritesScreen} />
</Stack.Navigator>
)

我的问题是如何编程导航从主屏幕选项卡到搜索选项卡上的飞机细节屏幕?
先谢了。
编辑:

HomeScreen is a class.

 handleAircraftSelect = (aircraft_id) => {
 this.props.navigation.navigate("Search", {
   screen: "AircraftDetail",
   params: { id: aircraft_id },
 });
 };
hc2pp10m

hc2pp10m1#

navigation.navigate('Search', {screen: 'AircraftDetail'});

https://reactnavigation.org/docs/nesting-navigators/#navigating-to-a-screen-in-a-nested-navigator

pes8fvy9

pes8fvy92#

对于react navigation 6.x,您可以使用以下命令- navigation.jumpTo('Profile',{ name:“米夏"});

相关问题