React native 到达最后一个屏幕后反应本机导航重置堆栈或选项卡

React native 到达最后一个屏幕后反应本机导航重置堆栈或选项卡,react-native,wix-react-native-navigation,React Native,Wix React Native Navigation,各位,我有一点反应的想法。我在使用react navigation时遇到了一个问题。我的导航中有两个选项卡。在第一个选项卡中,我有2个屏幕(主页和供应商),在第二个选项卡中,我有3个屏幕(订单预览、订单确认、谢谢)。当我第一次搬家->供应商->订单预览->订单确认->谢谢。它的工作很好。第二次,当我通过Home->Vendor->Thankyou移动时(它直接移动到Thankyou)。我不确定,为什么我会得到这个。我正在分享我的代码 我在文件中附加我的代码 请让我知道,如果我遗漏了什么或建议一些

各位,我有一点反应的想法。我在使用react navigation时遇到了一个问题。我的导航中有两个选项卡。在第一个选项卡中,我有2个屏幕(主页和供应商),在第二个选项卡中,我有3个屏幕(订单预览、订单确认、谢谢)。当我第一次搬家->供应商->订单预览->订单确认->谢谢。它的工作很好。第二次,当我通过Home->Vendor->Thankyou移动时(它直接移动到Thankyou)。我不确定,为什么我会得到这个。我正在分享我的代码

我在文件中附加我的代码

请让我知道,如果我遗漏了什么或建议一些解决上述问题的方法 非常感谢。 视频链接:

导入“反应本机手势处理程序”;
从“React”导入React;
从“react native”导入{Image};
从“@components”导入{TabBarItem};
从'@react-navigation/native'导入{NavigationContainer};
从'@react navigation/stack'导入{createStackNavigator};
从“@react navigation/bottom tabs”导入{createBottomTabNavigator};
从“@common”导入{常量、颜色、图标、样式};
从“/screens/HomeScreen”导入主屏幕;
从“/screens/VendorScreen”导入供应商屏幕;
从“/screens/OrderPreviewScreen”导入OrderPreviewScreen;
从“/screens/OrderConfirmScreen”导入OrderConfirmScreen;
从“/screens/OrderThankyouScreen”导入OrderThankyouScreen;
///路由器文件代码
const HomeStack=createStackNavigator();
功能屏幕(){
返回(
);
}
const CartStack=createStackNavigator();
函数CartStackScreen(){
返回(
);
}
const Tab=createBottomTabNavigator();
函数App(){
返回(
);
}
导出默认应用程序;
//主屏幕
showVendorDetail={vendor\u ID=>navigation.push(Constants.Screen.vendor,{vendor\u ID})}
//供应商筛选
showOrderPreview={()=>navigation.navigate(“购物车”{屏幕:“OrderPreview”})}
//定单
showOrderConfirm={()=>navigation.push(Constants.Screen.OrderConfirm)}
//订单确认
showOrderThankyu={()=>navigation.push(Constants.Screen.orderThankyu)}
//点餐谢谢
showHome={()=>navigation.navigate(“Home”,{screen:'Home'})}

需要在主页上写上“谢谢”,谢谢你的回复,我试过了。但我的问题是,当我使用导航浏览不同的选项卡时。我想重置以前的选项卡屏幕或重置它。我不明白如何重置itu需要在orderPreview、OrderConfirm或OrderThank you组件中添加一个条件。如果订单已完成,请按一下所需屏幕。
import 'react-native-gesture-handler';
import React from "react";
import { Image } from "react-native";
import { TabBarItem } from "@components";
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { Constants, Colors, Icons, Styles } from "@common";
import HomeScreen from "./screens/HomeScreen";
import VendorScreen from "./screens/VendorScreen";
import OrderPreviewScreen from "./screens/OrderPreviewScreen";
import OrderConfirmScreen from "./screens/OrderConfirmScreen";
import OrderThankyouScreen from "./screens/OrderThankyouScreen";

/// Router File Code
const HomeStack = createStackNavigator();
function HomeStackScreen() {
  return (
      <HomeStack.Navigator initialRouteName="Home">
        <HomeStack.Screen name="Home" component={HomeScreen} />
        <HomeStack.Screen name="Vendor" component={VendorScreen} />
      </HomeStack.Navigator>

  );
}

const CartStack = createStackNavigator();
function CartStackScreen() {
  return (
    <CartStack.Navigator initialRouteName="OrderPreview">
      <CartStack.Screen name="OrderPreview" component={OrderPreviewScreen} />
      <CartStack.Screen name="OrderConfirm" component={OrderConfirmScreen} />
      <CartStack.Screen name="OrderThankyou" component={OrderThankyouScreen} />
    </CartStack.Navigator>
  );
}

const Tab = createBottomTabNavigator();

function App() {
  return (
    <NavigationContainer>
      <Tab.Navigator tabBarOptions={{activeTintColor: 'tomato', inactiveTintColor: 'gray',  }} >
        <Tab.Screen name="Home" component={HomeStackScreen}  />
        <Tab.Screen name="Cart" component={CartStackScreen} />
      </Tab.Navigator>
    </NavigationContainer>
  );
}

export default App;

// Home Screen
showVendorDetail={vendor_ID=>navigation.push(Constants.Screen.Vendor,{vendor_ID})}

//Vendor Screen
showOrderPreview={()=>navigation.navigate("Cart",{screen:"OrderPreview"})}

//Order Preivew
showOrderConfirm={()=>navigation.push(Constants.Screen.OrderConfirm)}
// Order Confirm
showOrderThankyou={()=>navigation.push(Constants.Screen.OrderThankyou)}
// Order Thankyou
showHome={()=>navigation.navigate("Home",{ screen: 'Home' })}