Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 反应本机-从其他选项卡推送堆栈屏幕_React Native_React Navigation - Fatal编程技术网

React native 反应本机-从其他选项卡推送堆栈屏幕

React native 反应本机-从其他选项卡推送堆栈屏幕,react-native,react-navigation,React Native,React Navigation,我使用和我的应用程序结构如下所示 -主页(选项卡) --档案馆 --PostDetails -搜索(选项卡) -配置文件(选项卡) 我想从搜索选项卡中推送详细信息屏幕,但在搜索导航中没有推送功能,只有导航功能 所以,当使用“从搜索选项卡导航到详细信息”屏幕时,它是“转到详细信息”,但当用户转到搜索并从那里再次转到详细信息时,它会转到上一个详细信息屏幕(它无法推送堆栈)。在主页选项卡屏幕中,推送详细信息正常工作 那么我如何从搜索选项卡推送详细信息屏幕呢 从主页导航到详细信息->navigation

我使用和我的应用程序结构如下所示

-主页(选项卡)

--档案馆

--PostDetails

-搜索(选项卡)

-配置文件(选项卡)

我想从搜索选项卡中推送详细信息屏幕,但在搜索导航中没有推送功能,只有导航功能

所以,当使用“从搜索选项卡导航到详细信息”屏幕时,它是“转到详细信息”,但当用户转到搜索并从那里再次转到详细信息时,它会转到上一个详细信息屏幕(它无法推送堆栈)。在主页选项卡屏幕中,推送详细信息正常工作

那么我如何从搜索选项卡推送详细信息屏幕呢

从主页导航到详细信息->
navigation.push('Post',{data:item})

从搜索导航到详细信息->
导航。导航('Post',{data:item})

我的代码(app.js):

const Tabs = createBottomTabNavigator();
const HomeStack = createStackNavigator();

const HomeStackScreen = () => (
  <HomeStack.Navigator screenOptions={{headerShown: false}}>
    <HomeStack.Screen name="Home" component={HomeScreen} />
    <HomeStack.Screen name="Archive" component={ArchiveScreen} />
    <HomeStack.Screen name="Post" component={PostScreen} />
  </HomeStack.Navigator>
);

const MainTabs = () => (
  <Tabs.Navigator tabBar={(props) => <MyTabBar {...props} />}>
    <Tabs.Screen
      name="Home"
      options={{tabBarLabel: 'home', tabBarIcon: 'home'}}
      component={HomeStackScreen}
    />
    <Tabs.Screen
      name="Search"
      options={{tabBarLabel: 'search', tabBarIcon: 'search'}}
      component={SearchScreen}
    />
    <Tabs.Screen
      name="Profile"
      options={{
        tabBarLabel: 'profile',
        tabBarIcon: 'profile',
        cardStyle: {backgroundColor: '#121212'},
      }}
      component={ProfileScreen}
    />
  </Tabs.Navigator>
);

const Drawer = createDrawerNavigator();

export default () => {
  const { t } = useTranslation();
  const dir = t('dir');
  const lang = t('lang');
  return (
    <PlayerProvider>
    <MenuProvider>
      <StatusBar
        barStyle="light-content"
        backgroundColor="#0000001a"
        translucent={true}
      />
      <NavigationContainer theme={MyTheme}>
        <Drawer.Navigator drawerContent={(props) => <MenuScreen {...props} />} drawerPosition={dir == 'ltr' ? 'left' : 'right'}>
          <Drawer.Screen name="Home" component={MainTabs} />
        </Drawer.Navigator>
      </NavigationContainer>
    </MenuProvider>
  </PlayerProvider>
  )
};
const Tabs=createBottomTabNavigator();
const HomeStack=createStackNavigator();
const HomeStackScreen=()=>(
);
常量MainTabs=()=>(
}>
);
const Drawer=createDrawerNavigator();
导出默认值()=>{
const{t}=useTranslation();
常数dir=t('dir');
常量lang=t('lang');
返回(
}抽屉位置={dir=='ltr'?'left':'right'}>
)
};

您可能想发布更完整的代码,但不清楚详细信息屏幕是什么,以及您当前如何从主页和主页导航到它Search@Tamar,导航代码已添加