如何将数据从TabNavigator内的一个屏幕传递到另一个屏幕

问题描述 投票:0回答:2

enter image description here

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

我在InternationalToursScreen中获取一些数据。获取的数据也将在DomesticToursScreen中使用。如何将获取的数据传递给DomesticToursScreen,因为它位于tabNavigator中?

react-native tabs react-navigation react-native-navigation
2个回答
1
投票

您好,你可以通过params通过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>

TabNavigators还有一个可用于执行功能的onPress事件,请参阅更多here


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');
© www.soinside.com 2019 - 2024. All rights reserved.