Je reçois ce message lorsque j'ai essayé de démarrer mon application native react. Habituellement, ce type de format fonctionne sur d'autres systèmes de navigation multi-écrans mais ne fonctionne pas d'une manière ou d'une autre dans ce cas.
Voici l'erreur:
Invariant Violation: The navigation prop is missing for this navigator. In
react-navigation 3 you must set up your app container directly. More info:
https://reactnavigation.org/docs/en/app-containers.html
Voici le format de mon application:
import React, {Component} from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { createStackNavigator } from 'react-navigation';
import Login from './view/login.js'
import SignUp from './view/signup.js'
const RootStack = createStackNavigator(
{
Home: {
screen: Login
},
Signup: {
screen: SignUp
}
},
{
initialRouteName: 'Home'
}
);
export default class App extends React.Component {
render() {
return <RootStack />;
}
}
reactjs
react-native
Glenn Parale
la source
la source
Réponses:
React Navigation 3.0 a un certain nombre de modifications de rupture, y compris un conteneur d'application explicite requis pour le navigateur racine.
Veuillez également noter que si vous utilisez maintenant la v4, les navigateurs ont été déplacés vers un dépôt distinct. Vous devrez maintenant installer et importer à partir de
'react-navigation-stack'
. Par exempleimport { createStackNavigator } from 'react-navigation-stack'
La solution ci-dessous est pour la v3.Un exemple de code plus complet:
la source
createStackNavigator()
a été déplacé versreact-navigation-stack
. Voir reactnavigation.org/docs/4.x/stack-navigator.html pour plus de détails." Pouvez vous me donner un coup de main.@Tom Dickson quelque chose comme ça:
Puis référencez-le avec
la source
Créez un nouveau fichier ScreenContainer.js (vous pouvez choisir le nom). Ensuite, dans le fichier ScreenContainer, ajoutez:
Puis dans votre fichier App.js:
la source
Voici une autre façon
la source
Simple j'ai fait
Au lieu de
la source
dans votre fichier App.js, référencez-le avec
</container>
la source
J'avais le code en bas
Je l'ai simplement remplacé par et cela a fonctionné comme un charme. Certainement, c'est parce que les mises à jour dans la bibliothèque react-navigation:
De plus, j'ai également inclus la bibliothèque createAppContainer dans la navigation de réaction en haut.
la source
Celui-ci consiste à créer un navigateur inférieur avec deux onglets:
la source
J'ai perdu mes 2,5 heures pour obtenir cette solution après de nombreuses recherches sur Google ... J'espère que cela fonctionnera.
importez simplement ces deux:
et apportez un petit changement à votre code comme ceci:
créer const au-dessus de la classe
et enfin appeler ce const dans la classe au lieu de
<RootStack/>
Merci!
la source
J'ai eu du mal ces derniers jours. Eh bien, vous avez peut-être aussi du mal à résoudre si et si vous avez supprimé la navigation de réaction de package.json et installée à l'aide de npm, veuillez vérifier votre projet de sauvegarde et voir la version de navigation et essayer d'ajouter le idem et supprimez les modules de nœuds et faites l'installation de npm. J'espère que ses œuvres.
Bonne chance pour vous casser la tête avec React-Native :-)
la source