react-nativereact-navigation

How to send data back to previous sceen when using navigation.goBack()?


I've got screen 1 from which I navigate to screen 2 using:

navigation.navigate('Screen2')

From this screen, I would like to go to the previous one, which simple:

navigation.goBack()

However I'm wondering how can I pass some data back to Screen1? Something like wouldn't work navigation.goBack({ myData: 'something' }) so I'm wondering what is the recommended way to do this in general?


Solution

  • You can solve it with 2 ways :

    1 : Using navigation method

    Pass a method when you are calling that screen through navigation :

    this.props.navigation.navigate('Screen2', {
      onGoBack: this.refresh,
    });
    
    refresh=(data)=> {
    
    }
    

    and when you press back, pass data like

    this.props.navigation.state.params.onGoBack('123');
    this.props.navigation.goBack();
    

    2 : Using redux store

    If you are using redux in your application, just update redux store whenever user presses back button, and get store value in previous screen.