0
votes

Réagir la navigation native des composants des enfants

J'essaie de mettre en œuvre une simple navigation entre les écrans, mais d'obtenir cette erreur:

non défini n'est pas un objet'Props.navigate ' code> em> strong> p>

appnavigator.js code> strong> p> xxx pré>

Signupcreen.js code> strud> p> xxx pré>

signupform.js code> PRE>

const { navigate } = this.props.navigation;
<Text onPress={() =>
       navigate('Login')
}>
 ¿Allready have an account? Sign in
</Text>


0 commentaires

3 Réponses :


2
votes

Vous devez passer navigation code> à Signupform code>. Choisissez 1 de 2 solution ci-dessous

1. P> xxx pré>

ou fort> p>

  1. dans Signupform.js li> OL>
    import { withNavigation } from 'react-navigation';
    
    export default withNavigation(SignupForm);
    
    


1 commentaires

Utilisé la première solution (après avoir essayé beaucoup de choses, y compris la deuxième solution) .. Merci beaucoup!



0
votes

Vous devez utiliser avec Navigation si vous utilisez un composant distinct Voir la documentation sur Navigation: ici < / a>


0 commentaires

0
votes

Vous avez peut-être manqué d'envelopper votre Appnavigator code> dans un NavigationContainer code> Avant de l'utiliser ailleurs.

Dans votre Appnavigator.js Strong> P>

import { createAppContainer } from 'react-navigation'; // add this
import { createStackNavigator } from 'react-navigation-stack'; // i trust you've already got this

let AppNavigator = createStackNavigator({
  Signup: 
  { screen: SignupScreen, 
    navigationOptions: {
      header: null
    }    
  },
  Login: { screen: LoginScreen,
    navigationOptions: {
      header: null
    } 
  },
},{
  initialRouteName: "Signup"
});

export default createAppContainer(AppNavigator); // this is important!


0 commentaires