Search code examples
react-nativereact-navigationreact-navigation-stackreact-navigation-drawer

Why Navigation.goBack() not working properly?


I am using following way to create navigation system

StackNavigator -> DrawerNavigator -> (Screen A, Screen B, Screen C)

Screen A is initial Route

Screen A to Screen B Using

this.props.navigation.navigate("Screen B")  //Working Fine

Screen B to Screen C Using

this.props.navigation.navigate("Screen C")  //Working Fine

In Screen C

this.props.navigation.goBack() //Not Working

But

this.props.navigation.goBack(null) //It's going to Screen A instead of Screen B

What's wrong here.

Please help me Thank you.


Solution

  • As you didn't show the navigation structure of the drawer, I don't know how the 3 screens are put inside of it. I'm assuming they are 3 different drawerScreens

    This happens because you are using a DrawerNavigation, that doesn't create a history of screens when you navigate around it.

    To solve this you have to change the navigation structure to something like:

    DrawerNavigation => StackNavigator => Screen A, B, C