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中定义的聊天屏幕一样,否则它也会遇到与您面临的问题相同的问题。请提供更多信息