为什么 Navigation.goBack() 无法正常工作?

Sab*_*h.M 1 react-native react-navigation react-navigation-drawer react-navigation-stack

我正在使用以下方式创建导航系统

StackNavigator -> DrawerNavigator -> (屏幕 A、屏幕 B、屏幕 C)

屏幕A是初始路线

屏幕 A 到屏幕 B 使用

this.props.navigation.navigate("Screen B")  //Working Fine
Run Code Online (Sandbox Code Playgroud)

屏幕 B 到屏幕 C 使用

this.props.navigation.navigate("Screen C")  //Working Fine
Run Code Online (Sandbox Code Playgroud)

在屏幕 C 中

this.props.navigation.goBack() //Not Working
Run Code Online (Sandbox Code Playgroud)

this.props.navigation.goBack(null) //It's going to Screen A instead of Screen B
Run Code Online (Sandbox Code Playgroud)

这里出了什么问题。

请帮助我谢谢。

Aut*_*cat 5

由于您没有显示抽屉的导航结构,我不知道3个屏幕是如何放入其中的。我假设它们是 3 个不同的抽屉屏幕

发生这种情况是因为您使用的是 DrawerNavigation,当您在其周围导航时不会创建屏幕历史记录。

要解决这个问题,您必须将导航结构更改为:

DrawerNavigation => StackNavigator => Screen A, B, C
Run Code Online (Sandbox Code Playgroud)