Recibo este mensaje cuando intenté iniciar mi aplicación nativa de reacción. Por lo general, este tipo de formato funciona en otra navegación de múltiples pantallas, pero de alguna manera no funciona en este caso.
Aquí está el error:
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
Aquí está el formato de mi aplicación:
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
fuente
fuente
Respuestas:
React Navigation 3.0 tiene una serie de cambios importantes que incluyen un contenedor de aplicaciones explícito requerido para el navegador raíz.
También tenga en cuenta que si ahora está usando v4, los navegadores se han movido a un repositorio separado. Ahora deberá instalar e importar desde
'react-navigation-stack'
. Por ejemploimport { createStackNavigator } from 'react-navigation-stack'
, la siguiente solución es para v3.Un ejemplo de código más completo:
fuente
createStackNavigator()
se ha movido areact-navigation-stack
. Consulte reactnavigation.org/docs/4.x/stack-navigator.html para obtener más detalles". ¿Puedes ayudarme?@Tom Dickson algo como esto:
Luego haz referencia a él con
fuente
Cree un nuevo archivo ScreenContainer.js (puede elegir el nombre). Luego, en el archivo ScreenContainer agregue:
Luego, en su archivo App.js:
fuente
Aquí hay otra forma
fuente
Simple lo hice
En vez de
fuente
en su archivo App.js, haga referencia a él con
</container>
fuente
Tenía el código en la parte inferior
Simplemente lo reemplacé y funcionó a las mil maravillas. Definitivamente, es porque las actualizaciones en la biblioteca de navegación de reacción:
Además, incluí la biblioteca createAppContainer en react-navigation en la parte superior también.
fuente
Este es para crear un navegador inferior con dos pestañas:
fuente
Perdí mis 2.5 horas para obtener esta solución después de muchas búsquedas en Google ... Espero que esto funcione.
solo importa estos dos:
y haz un pequeño cambio en tu código como este:
crear const por encima de la clase
y finalmente llamar a esa constante en la clase en lugar de
<RootStack/>
¡Gracias!
fuente
He estado luchando desde los últimos días.Bueno, es posible que usted también haya estado luchando por resolver si ha eliminado la navegación de reacción de package.json e instalado usando npm, verifique su proyecto de copia de seguridad y vea la versión de navegación e intente agregar el mismo y elimine los módulos de nodo y haga npm install. Espero que funcione.
Buena suerte rompiendo tu cabeza con React-Native :-)
fuente