我正在使用React Native for Android Application和React Navigation。现在在屏幕0(S0
)。然后进行了导航。
this.props.navigation.navigate("S1")
this.props.navigation.navigate("A1")
this.props.navigation.navigate("A2")
this.props.navigation.navigate("A3")
现在,一旦A3中的动作完成,我必须返回到屏幕1(S1
)。但是,如果我使用this.props.navigation.navigate("S1")
,那么我可以按回按钮(硬件或标题栏)然后返回到屏幕A3
。
在S1
上按下后退按钮时,我想返回S0
。我也不想手动设置它,因为许多其他页面可以来S1
。
任何建议或想法如何使这项工作?我尝试了popToTop()
和goBack("A")
,但两者都无效。
答案 0 :(得分:0)
您可以使用NavigationActions.reset
返回第一个屏幕,或NavigationActions.pop
至"弹出"回到你想要的屏幕。
导航重置的示例代码:
this.props.navigation.dispatch(NavigationActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'S0' }),
NavigationActions.navigate({ routeName: 'S1' }),
NavigationActions.navigate({ routeName: 'A1' }),
NavigationActions.navigate({ routeName: 'A2' }),
NavigationActions.navigate({ routeName: 'A3' }),
],
}));
导航弹出的示例代码:
this.props.navigation.dispatch(NavigationActions.pop({
n: 3,
immediate: true
}));
注意:请记住导入{NavigationActions}