Сложите один и тот же экран несколько раз с помощью React Navigation - PullRequest
0 голосов
/ 17 марта 2019

У меня 3 экрана на StackNavigator : MainSearch, MonsterPage, ItemPage.И я хочу составить MonsterPage и ItemPage несколько раз 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, показывающий, что происходит

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'} }) }

ItemPage

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

1 Ответ

0 голосов
/ 17 марта 2019

Я понял ... просто измените this.props.navigation.navigate(...) на this.props.navigation.push(...)

...