首页 > 解决方案 > 使用navigation.goBack()时如何将数据发送回上一个屏幕?

问题描述

我有屏幕 1,我从中导航到屏幕 2:

navigation.navigate('Screen2')

从这个屏幕,我想转到上一个,很简单:

navigation.goBack()

但是我想知道如何将一些数据传递回 Screen1?像这样的东西行不通navigation.goBack({ myData: 'something' }),所以我想知道一般推荐的方法是什么?

标签: react-nativereact-navigation

解决方案


您可以通过 2 种方式解决它:

1:使用导航方式

通过导航调用该屏幕时传递一个方法:

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

refresh=(data)=> {

}

当你按回时,传递数据,如

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

2:使用redux store

如果您在应用程序中使用 redux,只需在用户按下后退按钮时更新 redux 存储,并在前一个屏幕中获取存储值。


推荐阅读