有什么方法可以获取当前屏幕?
我有我的第一个(主)屏幕,它在后台执行一堆操作,例如搜索信标。每次我找到一个信标时,我都想导航到显示有关该信标信息的屏幕。
问题在于,每次找到新的信标时,我都会不断推动屏幕,但我不希望这样做。如果我在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
,只是为了向您解释我想要的东西。
希望您能帮助我!谢谢!
答案 0 :(得分:1)
您可以尝试将navigate()与一个键一起使用,以仅保留一个详细信息屏幕。或者,您可以使用replace()
替换堆栈navigate({
routeName: 'MonumentDetails',
params: {
monumento:i,
poi:j,
description_types:this.state.data.categories,
data:this.state.data
},
key: 'detail',
});