StackNavigation 如何知道我从哪个屏幕导航?
StackNavigation how to know from which screen I navigated from?
我目前正在我的 React 本机应用程序中使用 StackNavigator。
我有两个屏幕,它们都将导航到同一个屏幕 LoginScreen
。但是,根据我来自哪个屏幕,我想转到不同的屏幕。
例如:
ScreenA -> LoginScreen -> ScreenC
ScreenB -> LoginScreen -> ScreenD
因此在 LoginScreen 中,我需要知道我来自哪个屏幕,以便我知道是转到屏幕 C 还是 D。
但是 this.props.navigation 上的 goBack 功能只是一个将您带回到上一个屏幕的功能。它不会为您提供屏幕 ID 或某种确定您来自何处的方法。
有人对此有解决方案吗?
谢谢
登录屏幕需要一个标志,称之为 IsScreenA
,此变量将来自屏幕 A 和 B,分别为 true
或 false
。然后,在登录屏幕中,根据该标志导航:
if(this.props.IsScreenA)
this.props.navigation.navigate("ScreenC")
else
this.props.navigation.navigate("ScreenD")
现在返回,使用 和上述逻辑。您将调用 LoginScreen,然后根据任何屏幕,传递不同的 goBack()
.
编辑:
要传递参数,您可以这样做:
来自屏幕 A:
this.props.navigation.navigate("LoginScreen", {IsScreenA: true});
来自屏幕 B:
this.props.navigation.navigate("LoginScreen", {IsScreenA: false});
我目前正在我的 React 本机应用程序中使用 StackNavigator。
我有两个屏幕,它们都将导航到同一个屏幕 LoginScreen
。但是,根据我来自哪个屏幕,我想转到不同的屏幕。
例如:
ScreenA -> LoginScreen -> ScreenC
ScreenB -> LoginScreen -> ScreenD
因此在 LoginScreen 中,我需要知道我来自哪个屏幕,以便我知道是转到屏幕 C 还是 D。
但是 this.props.navigation 上的 goBack 功能只是一个将您带回到上一个屏幕的功能。它不会为您提供屏幕 ID 或某种确定您来自何处的方法。
有人对此有解决方案吗?
谢谢
登录屏幕需要一个标志,称之为 IsScreenA
,此变量将来自屏幕 A 和 B,分别为 true
或 false
。然后,在登录屏幕中,根据该标志导航:
if(this.props.IsScreenA)
this.props.navigation.navigate("ScreenC")
else
this.props.navigation.navigate("ScreenD")
现在返回,使用 goBack()
.
编辑:
要传递参数,您可以这样做:
来自屏幕 A:
this.props.navigation.navigate("LoginScreen", {IsScreenA: true});
来自屏幕 B:
this.props.navigation.navigate("LoginScreen", {IsScreenA: false});