2016-11-22 3 views
0

Ich habe seit ungefähr einer Stunde jetzt mit 0 Ergebnissen zu dieser Frage gesucht. Ich bin nur auf der Suche nach einer Liste der Requisiten, die verwendet werden können, wenn navigator.push aufrufen, speziell, wie ich die sceneConfig Requisite in den Aufruf verwenden kann, aber eine ganze Liste wäre wirklich hilfreich. Natürlich ist Facebooks Dokumentation immer nur halb gebacken und ziemlich vage.Welche Requisiten können an Navigator.push übergeben werden

Was kann ich an navigator.push weitergeben? Ich brauche alle Schlüssel und Werte für das Objekt, das an die Funktion übergeben werden könnte.

Antwort

1

Wenn Sie Navigator.push aufrufen, können Sie ein Argument angeben, bei dem es sich um ein Objekt mit einer beliebigen Anzahl von Schlüsseln und Werten handelt. Der Navigator verwendet die Werte in diesem Fall für nichts, er wird nur an Ihre Rückrufe weitergeleitet, renderScene und configureScene.

Die Prop renderScene ruft das Objekt ab, das Sie push aufgerufen haben, und ermöglicht es Ihnen, den Inhalt zu untersuchen und die Ansicht zurückzugeben, die Sie rendern möchten.

Die Stütze configureScene bekommt das Objekt, das Sie push mit, zusammen mit den anderen Routen auf dem Stapel (die initialRoute Stütze, und alle anderen Objekten, die Sie vorher push mit und haben nicht aufgetaucht genannt) genannt. Hier können Sie etwas aus Navigator.SceneConfigs zurückgeben, um zu beschreiben, wie die Route animiert werden sollte

+0

Danke für Ihre Reaktion erhalten, aber haben Sie auch meine Frage gelesen haben? Ich muss wissen, was ich in die "Push" -Funktion übergeben kann und nicht wie Navigator funktioniert. Es gibt eine Menge Dokumentation darüber, wie es funktioniert, es gibt einfach keine Dokumentation darüber, wie man es wirklich in der Tiefe verwendet. –

+0

@RyanWilson Ich habe die Frage gelesen, und ich versuche es zu beantworten. Was Sie in die Push-Funktion übertragen können, ist: * alles *. Es braucht ein Objekt. Es gibt keine speziellen Schlüssel. Der Navigator erwartet keine anderen Parameter für die Push-Funktion. Sie übergeben einfach ein Objekt mit den Daten, die Sie für den Navigator verwenden möchten, um zu wissen, was gerendert werden soll. Die 'sceneConfig'-Prop, nach der du fragst, existiert nicht. Es gibt eine 'configureScene'-Stütze, die ich in meiner Antwort beschrieben habe. –

0

Versuchen Sie, Eigenschaften an die nächste Szene zu übergeben, oder versuchen Sie, verschiedene Übergänge zwischen den Szenen einzustellen?

Wenn Sie das erstere verwenden, übergeben Sie einfach ein Objekt in navigator.push und Sie können auf die Werte von navigator.state.routeStack zugreifen, die Ihnen ein Array aller Ihrer aktuellen Routen und den Namen und alle anderen Eigenschaften, an die Sie weitergeleitet haben, geben das Push-Objekt.

Wenn Sie versuchen, verschiedene Übergänge zwischen den Szenen zu setzen, dann müssen Sie, wo immer Sie sie benutzen, gehen und in configureScene = {route, routeStack) =>} sollten Sie Optionen wie if (route.name === 'Willkommen') {return Navigator.SceneConfigs.FloatFromRight}

Nicht sicher, ob dies genau das war, was Sie gesucht haben!

+0

Wenn Sie nur nach der Navigation fragen, übergeben Sie einfach den Namen der nächsten Route in der Push-Anweisung: navigator.push ({name: "Login Page"}); und in der renderScene würden Sie sagen: if (route.name) {return } –

+0

Korrektur: (route.name === "Login-Seite") ** –

3

wie diese können Sie

this.props.navigator.push({ 
    title: "NextPage", 
    component: NextPage, 
    passProps: {username: this.state.username, password: this.state.password}, 
}); 

und in Nextpage übergeben Sie können mit dieser

constructor(props) { 
    super(props); 
    this.state = { 
     username: this.props.username, 
     password: this.props.password 
    }; 
} 
Verwandte Themen