如何在本机屏幕之间传递数据?

Act*_*sin 6 android ios react-native

嘿,我是新来的本地人。因此,基本上,我有一个带有两个屏幕选项的堆栈导航器:屏幕1(默认)和屏幕2。我已经设置了一个按钮,以便在按下按钮时它将带我到屏幕2。因此在Screen1中,我有一个数组显示为scrollview组件。现在,当我按下按钮转到screen2时,我想将一些数组值传递给该screen2组件。最好的方法是什么?谢谢 :)

我真的很新,所以我的尝试有点愚蠢。我尝试导入Screen1组件并通过this.state调用数组值,但是没有访问权限。

Rez*_*eza 10

传递数据的最简单方法是在导航时。为此,最好将阵列置于状态,然后使用以下方法:

onPress=()=>{
     this.props.navigation.navigate('Screen2', {
          yourArray: this.state.yourArray, });
      }
}
Run Code Online (Sandbox Code Playgroud)

然后在下一个屏幕(Screen2)中可以在props中找到数组(您的数据)。因此在scrren2的构造函数中,您可以在此处找到数据:

  constructor(props) {
    super(props);

    var params = props.navigation.state.params.yourArray;

}
Run Code Online (Sandbox Code Playgroud)

另外,要返回到先前的屏幕而不触碰您的状态,您可以在“后退”按钮中使用以下代码:

  const { goBack } = this.props.navigation;
      goBack();
Run Code Online (Sandbox Code Playgroud)