2017-10-16 4 views
0

Ich laufe weiter in undefined is not an object (evaluating 'RCCManager.setRootController'), wenn Sie versuchen, reaktiv-native-Navigation zu verwenden.setRootController-Fehler mit reaktiven nativen Navigation in Expo

Ich habe versucht, mit https://github.com/junedomingo/movieapp folgen, aber hit dies, wenn es versucht, das Projekt in der Expo App zu laden.

Ich habe meine App.js geändert, die von Expo wie folgt aussehen:

import HomeScreen from './screens/HomeScreen' 

Navigation.registerComponent('screens.HomeScreen',() => HomeScreen) 

class App extends React.Component { 
    constructor(props) { 
    super(props) 
    this.startApp() 
    } 
    startApp() { 
    Navigation.startTabBasedApp({ 
     tabs: [ 
     { 
     label: 'One', 
     screen: 'screens.HomeScreen', 
     title: 'Screen One' 
     }, 
     ] 
    }) 
    } 
} 

const app = new App() 

, die ein bisschen ist eingekocht, aber ich denke, das sind die wesentlichen Bits sind. Ich habe das Gefühl, dass ich die Dinge nicht von der Expo zur Expo übertrage.

Irgendeine Idee, wie man rnn in der Expo laufen lässt? Wenn es ein Beispiel-Repo gibt, mit dem ich spielen kann, wäre das großartig. Ich bin mir sicher, dass ich außerhalb der Expo arbeiten kann, also werden Vanillan Beispiele wahrscheinlich nicht viel helfen.

+1

Ich glaube, dass Reaktion-Native-Navigation von Expo nicht unterstützt wird. Es hat native Abhängigkeiten. – bennygenel

+0

Ich denke, Sie wollten Reagieren-Navigation verwenden. –

+0

In der Tat wie @EdgarArotiounian sagte, um reactive-native-Navigation von Wix zu verwenden, müssen Sie entweder den Android- und iOS-nativen Code ändern. Edgar, weißt du, ob es einen Weg gibt, solche Ordner auf der Expo zu erstellen, ohne die Vorteile zu verlieren? –

Antwort

1

Da reaktive native Navigation native Abhängigkeiten aufweist und Sie benutzerdefinierten nativen Code hinzufügen müssen, können Sie ihn nicht mit Expo außerhalb des Pakets verwenden.

Eine Option ist detach Ihr Projekt und verwenden Sie das Paket so. Dies hat den Nebeneffekt, dass einige Expo-Eigenschaften verloren gehen.

Eine andere Option ist (wenn Sie nicht zu tief im Projekt sind) erstellen Sie eine neue App mit react-native-cli und verschieben Sie Ihren Code zu diesem Projekt. Dies hat den Nebeneffekt, dass man keine Expo-API verwenden kann.

Die dritte Option besteht darin, ein Navigationspaket zu verwenden, das nicht von systemeigenem Code abhängt. Einige der beliebtesten Optionen sind react-navigation und react-native-router-flux.

Verwandte Themen