使用React Navigation多次堆叠相同的屏幕

问题描述 投票:0回答:1

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

可以实例化屏幕吗?

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

export default createAppContainer(AppNavigator);

我想要的是:

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

要么

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

我得到了什么:

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

Gif showing what happens

MainSearch

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

MonsterPage

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

Itmpaj

onPress={() => { this.props.navigation.navigate('MonsterPage', { item: {id: mob.mob_id, NameZh_ragmobile: mob.mob_name_EN, super_cat: 'monster'} }) }
javascript react-native react-navigation react-navigation-stack
1个回答
0
投票

我明白了...只需将this.props.navigation.navigate(...)改为this.props.navigation.push(...)

© www.soinside.com 2019 - 2024. All rights reserved.