获取当前屏幕?

时间:2018-08-24 20:03:32

标签: react-native react-navigation

有什么方法可以获取当前屏幕?

我有我的第一个(主)屏幕,它在后台执行一堆操作,例如搜索信标。每次我找到一个信标时,我都想导航到显示有关该信标信息的屏幕。

问题在于,每次找到新的信标时,我都会不断推动屏幕,但我不希望这样做。如果我在detailScreen中,我想用新数据替换屏幕。

我想要这样的东西:

if (navigation.currentScreen == 'Homepage' || navigation.currentScreen == 'Monument') {
   navigate('MonumentDetails', {monumento:i, poi:j, description_types:this.state.data.categories, data:this.state.data});
} else {
   replace('MonumentDetails', {monumento:i, poi:j, description_types:this.state.data.categories, data:this.state.data});
}

我知道没有navigation.currentScreen,只是为了向您解释我想要的东西。

希望您能帮助我!谢谢!

1 个答案:

答案 0 :(得分:1)

您可以尝试将navigate()与一个键一起使用,以仅保留一个详细信息屏幕。或者,您可以使用replace()

替换堆栈
navigate({
    routeName: 'MonumentDetails',
    params: {
        monumento:i,
        poi:j,
        description_types:this.state.data.categories, 
        data:this.state.data
    },
    key: 'detail',
});