web-dev-qa-db-fra.com

Comment passer des données entre des écrans natifs réactifs?

Hé, je suis nouveau pour réagir natif. Donc, fondamentalement, j'ai un navigateur de pile avec deux options d'écran: Écran 1 (par défaut) et Screen2. J'ai déjà configuré un bouton de sorte que lorsqu'il est enfoncé, il m'amène à l'écran 2. Donc, dans l'écran 1, j'ai un tableau affiché en tant que composant scrollview. Maintenant, lorsque j'appuie sur le bouton pour accéder à screen2, je veux transmettre certaines des valeurs du tableau à ce composant screen2. Quelle est la meilleure façon de procéder? Merci :)

Je suis vraiment nouveau donc mes tentatives sont un peu stupides. J'ai essayé d'importer le composant Screen1 et d'appeler les valeurs du tableau via this.state mais pas d'accès.

6
Actssassin

La façon la plus simple de transmettre les données est lorsque vous naviguez. Pour ce faire, il est préférable de mettre votre tableau dans un état et d'utiliser la méthode suivante:

onPress=()=>{
     this.props.navigation.navigate('Screen2', {
          yourArray: this.state.yourArray, });
      }
}

Ensuite, dans l'écran suivant (Screen2), vous pouvez trouver le tableau (vos données) dans les accessoires.Donc dans votre constructeur dans scrren2, vous pouvez trouver les données ici:

  constructor(props) {
    super(props);

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

}

De plus, pour revenir à votre écran précédent sans toucher à vos états, vous pouvez utiliser ce code dans votre bouton de retour:

  const { goBack } = this.props.navigation;
      goBack();
10
Reza