Javascript React Native:navigation.goBack()返回到其他createStackNavigator屏幕,而不是上一个屏幕

Javascript React Native:navigation.goBack()返回到其他createStackNavigator屏幕,而不是上一个屏幕,javascript,react-native,Javascript,React Native,我有多个createStackNavigator。如果我使用了与其他createStackNavigator不同的routeName,它不会让我回到当前createStackNavigator使用的上一个屏幕,相反,它会返回,但会被替换为其他createStackNavigator,这会给我的UI带来麻烦。是否可以返回到该堆栈的上一个屏幕?还是有必要重新创建所需的屏幕 AssetDashboardStack const ViewAssetDashBoardStack = createStackN

我有多个
createStackNavigator
。如果我使用了与其他
createStackNavigator
不同的
routeName
,它不会让我回到当前
createStackNavigator
使用的上一个屏幕,相反,它会返回,但会被替换为其他
createStackNavigator
,这会给我的UI带来麻烦。是否可以返回到该堆栈的上一个屏幕?还是有必要重新创建所需的屏幕

AssetDashboardStack

const ViewAssetDashBoardStack = createStackNavigator({
  ViewAssetsOnDashboard: {
    screen: ViewAssetsOnDashboard
  },
  ViewMapScreenFromdashboard: {
    screen: ViewMapScreen
  },
  ViewAssetDashboardOnScreen: {
    screen: ViewAssetsOnDashboard
  }
},
{
  transitionConfig: () => fromBottom(300),
  headerMode: "none",
  cardStyle: {backgroundColor: "#F0F4F5"},
  navigationOptions: {
    header:null
  }
}
);
const MapStack = createStackNavigator({
  ViewMapScreen: {
    screen: ViewMapScreen
  },
  ViewMapSettings: {
    screen: ViewMapSettings
  },
  MapTypeScreen:{
    screen: MapTypeScreen
  },
  ViewAssetDetails: {
    screen: ViewAssetsOnDashboard
  },
  ViewZones: { // don't remove this is for viewing under map stack
    screen: Zones
  },
  HistorySelectionStack
},{
  transitionConfig:()=>fromRight(300),
  headerMode: "none",
  cardStyle: {backgroundColor: "#F0F4F5"},
  navigationOptions: {
    header:null
  }
});
MapStack

const ViewAssetDashBoardStack = createStackNavigator({
  ViewAssetsOnDashboard: {
    screen: ViewAssetsOnDashboard
  },
  ViewMapScreenFromdashboard: {
    screen: ViewMapScreen
  },
  ViewAssetDashboardOnScreen: {
    screen: ViewAssetsOnDashboard
  }
},
{
  transitionConfig: () => fromBottom(300),
  headerMode: "none",
  cardStyle: {backgroundColor: "#F0F4F5"},
  navigationOptions: {
    header:null
  }
}
);
const MapStack = createStackNavigator({
  ViewMapScreen: {
    screen: ViewMapScreen
  },
  ViewMapSettings: {
    screen: ViewMapSettings
  },
  MapTypeScreen:{
    screen: MapTypeScreen
  },
  ViewAssetDetails: {
    screen: ViewAssetsOnDashboard
  },
  ViewZones: { // don't remove this is for viewing under map stack
    screen: Zones
  },
  HistorySelectionStack
},{
  transitionConfig:()=>fromRight(300),
  headerMode: "none",
  cardStyle: {backgroundColor: "#F0F4F5"},
  navigationOptions: {
    header:null
  }
});

发生这种情况是因为您没有在同一堆栈导航器中定义/声明destination(要向后移动的类)屏幕

确保在同一堆栈导航器中定义/声明/添加两个屏幕。这非常简单,将通过遵循上述步骤/说明进行修复

const stackNavigator1 = createStackNavigator(   {
    Home: { screen: Home },
    Chat: { screen: Chat },
    Camera: { screen: Camera },
    ChatCameraView: { screen: ChatCameraView },   },

const ChatListNavigator = createStackNavigator(   {
    ChatList: { screen: ChatList },
    Chat: { screen: Chat },
    ChatCameraView: { screen: ChatCameraView },   },

当用户从主屏幕导航到聊天屏幕并按下“上一步”按钮时,他将被导航回主屏幕,正如我在stackNavigator1中定义的聊天屏幕一样,否则它也会遇到与您面临的问题相同的问题。

请提供更多信息