如何在React Native中将数据从一个屏幕传递到TabNavigator中的另一个屏幕

时间:2019-03-21 14:02:14

标签: react-native tabs react-navigation react-native-navigation

enter image description here

大家好,我正在使用react-navigation v3进行导航。我创建了一个名为TourPackagesTab的标签导航器。它由2个屏幕组成,InternationalToursScreen和DomesticToursScreen。

我在InternationalToursScreen中获取了一些数据。获取的数据也将在DomesticToursScreen中使用。如何将获取的数据传递到tabNavigator中的DomesticToursScreen?

2 个答案:

答案 0 :(得分:1)

您好,您可以通过onPress事件通过参数发送数据,例如:

  onPress={() => {
    this.props.navigation.navigate('Screen2', {
      data1: item.data1,
      data2: item.data2,
    });
  }}

然后在Screen2上按以下方式访问它:

const data = this.props.navigation.state.params;
<Text>{data.data1}</Text>

TabNavigator还具有一个onPress事件,您可以使用该事件来执行功能,请参见更多here

答案 1 :(得分:0)

您可以发送这样的数据:

    onPress={() => {
    this.props.navigation.navigate('Screen2', {
      data1: item.data1,
      data2: item.data2,
    });
  }}

在下一个屏幕上,您必须执行以下操作:

const data1 = this.props.navigation.getParam('data1');
const data2 = this.props.navigation.getParam('data2');