Otrzymuję tę wiadomość, gdy próbuję uruchomić moją natywną aplikację React. Zwykle ten format działa w innych nawigacjach wieloekranowych, ale jakoś nie działa w tym przypadku.
Oto błąd:
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
Oto format mojej aplikacji:
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
źródło
źródło
Odpowiedzi:
React Navigation 3.0 ma wiele istotnych zmian, w tym jawny kontener aplikacji wymagany dla głównego nawigatora.
Należy również pamiętać, że jeśli używasz teraz wersji 4, nawigatory zostały przeniesione do oddzielnego repozytorium. Będziesz teraz musiał zainstalować i importować z
'react-navigation-stack'
. Na przykładimport { createStackNavigator } from 'react-navigation-stack'
poniższe rozwiązanie dotyczy wersji v3.Bardziej wszechstronny przykład kodu:
źródło
createStackNavigator()
został przeniesiony doreact-navigation-stack
. Więcej informacji można znaleźć na stronie Reactnavigation.org/docs/4.x/stack-navigator.html ”. Czy możesz mi pomóc?@Tom Dickson, coś takiego:
Następnie odwołaj się do niego za pomocą
źródło
Utwórz nowy plik ScreenContainer.js (możesz wybrać nazwę). Następnie w pliku ScreenContainer dodaj:
Następnie w pliku App.js:
źródło
Oto inny sposób
źródło
To proste
Zamiast
źródło
w pliku App.js odwołuj się do niego z
</container>
źródło
Kod miałem na dole
Po prostu zastąpiłem go i działało jak urok. Zdecydowanie dzieje się tak dlatego, że aktualizacje w bibliotece reaktywnej nawigacji:
Ponadto, zawarte createAppContainer biblioteki do reagowania-nawigacji u góry, jak również.
źródło
Ten służy do utworzenia dolnego nawigatora z dwiema zakładkami:
źródło
Zmarnowałem moje 2,5 godziny, aby uzyskać to rozwiązanie po wielu wyszukiwaniach w Google ... Mam nadzieję, że to zadziała.
po prostu zaimportuj te dwa:
i dokonaj niewielkiej zmiany w swoim kodzie w ten sposób:
utwórz const nad klasą
i na koniec wywołaj tę stałą w klasie zamiast
<RootStack/>
Dziękuję!
źródło
Od kilku dni zmagałem się z problemami. Cóż, być może ty też miałeś problemy z rozwiązaniem, jeśli i jeśli usunąłeś reakcję-nawigację z package.json i zainstalowałeś go przy użyciu npm, sprawdź projekt kopii zapasowej i zobacz wersję nawigacji i spróbuj dodać to samo i usuń moduły węzłów i wykonaj instalację npm. Mam nadzieję, że to działa.
Powodzenia w łamaniu głowy dzięki React-Native :-)
źródło