使用 React Navigation 多次堆叠同一屏幕

Wil*_*aga 2 javascript react-native react-navigation react-navigation-stack

我有3个屏幕上StackNavigatorMainSearchMonsterPageItemPage。我想堆叠MonsterPageItemPage多次(从MonsterPage你可以去,ItemPage反之亦然)

可以实例化屏幕吗?

const AppNavigator = createStackNavigator(
    {
        Home: MainSearch,
        MonsterPage: MonsterPage,
        ItemPage: ItemPage
    },
    {
        initialRouteName: "Home"
    }
);

export default createAppContainer(AppNavigator);
Run Code Online (Sandbox Code Playgroud)

我想要的是:

MainSearch -> ItemPage(1) -> MonsterPage(1) -> ItemPage(2) -> 等等...

或者

MainSearch -> MonsterPage(1) -> ItemPage(1) -> MonsterPage(2) -> 等等...

我得到的:

MainSearch -> MonsterPage(1) -> ItemPage(1) ->(返回) MonsterPage(1)

Gif 显示会发生什么

主搜索

onPress={() => { this.props.navigation.navigate(`${r._source.super_cat === 'monster' ? 'MonsterPage' : 'ItemPage'}`, { item: r._source }) }}
Run Code Online (Sandbox Code Playgroud)

怪物页面

onPress={() => { this.props.navigation.navigate('ItemPage', { item: {id: drop.item_id, NameZh_ragmobile: drop.item_name_EN, super_cat: 'item'} }) }
Run Code Online (Sandbox Code Playgroud)

项目页面

onPress={() => { this.props.navigation.navigate('MonsterPage', { item: {id: mob.mob_id, NameZh_ragmobile: mob.mob_name_EN, super_cat: 'monster'} }) }
Run Code Online (Sandbox Code Playgroud)

Wil*_*aga 9

我明白了...只是更改this.props.navigation.navigate(...)this.props.navigation.push(...)