4 votes

Comment transférer des données d'un écran à un autre en React Native

1. index.android.js

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  TextInput,
  View
} from 'react-native';

import Button from 'react-native-button';

class AwesomeProject extends Component {

constructor(props){
super(props)

this.state = {
  username: '',
  email: '',
  address: '',
  mobileNumber: ''
 }

  render() {
    return (

       this.txt_input_name = component}
      style={styles.textInputStyle}
      placeholder="Entrez le nom"
      returnKeyLabel = {"suivant"}
      onChangeText={(text) => this.setState({username:text})}
      />

      Soumettre

    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
 buttonStyle: {
   alignSelf: 'center',
   textAlign: 'center',
   color: '#FFFFFF', 
   fontSize:18,
   marginTop:20,
   marginBottom:20,
   padding:5,
   borderRadius:5,
   borderWidth:2,
   width:100,
   alignItems: 'center',
   backgroundColor:'#4285F4',
   borderColor:'#000000'
}
});

AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject);

2voto

Karthikeyan M V Points 501

Vous devez passer les props à une autre page en utilisant le navigateur

 this.props.navigator.push({
    name: 'Accueil',
    passProps: {
      nom: propriété
    }
  })

J'ai pris cela à partir de ce lien https://medium.com/@dabit3/react-native-navigator-navigating-like-a-pro-in-react-native-3cb1b6dc1e30#.6yrqn523n

0voto

Pramod J George Points 1465

Au début

import {Navigator}

Définissez le Navigator à l'intérieur de la

render

fonction de

index.android.js

comme ceci

render() {
    return (
       {
            if (route.sceneConfig) {
              return route.sceneConfig;
            }
            return Navigator.SceneConfigs.FloatFromRight;
          }} />
    );
}

Ensuite définissez la fonction

renderScene

comme ceci

renderScene(route, navigator) {
    var routeId = route.id;
    if (routeId === 'HomePage') {
      return (

      );
    }
    if (routeId === 'DetailPage') {
      return (

      );
    }

}

Spécifiez la propriété

{...route.passProps}

pour passer des valeurs à un écran. Ici je l'ai placé à l'intérieur de la balise DetailPage

Ensuite, vous pouvez utiliser

passProps

pour appeler la page suivante. Dans mon cas

DetailPage

this.props.navigator.push({
      id: 'DetailPage',
      name: 'DetailPage',
      passProps: {
      name:valeur

    }
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X