Ich finde, dass Facebook-Beispiele entweder zu einfach oder zu komplex sind, wenn demonstriert wird, wie der Navigator funktioniert. Basierend auf @ Jarek-Potiuk Beispiel, habe ich eine einfache App erstellt, die Bildschirme hin und her wechseln wird.
In diesem Beispiel verwende ich: react-native: 0.36.1
index.android.js
import React, { Component } from 'react';
import { AppRegistry, Navigator } from 'react-native';
import Apple from './app/Apple';
import Orange from './app/Orange'
class wyse extends Component {
render() {
return (
<Navigator
initialRoute={{screen: 'Apple'}}
renderScene={(route, nav) => {return this.renderScene(route, nav)}}
/>
)
}
renderScene(route,nav) {
switch (route.screen) {
case "Apple":
return <Apple navigator={nav} />
case "Orange":
return <Orange navigator={nav} />
}
}
}
AppRegistry.registerComponent('wyse',() => wyse);
app/Apple.js
import React, { Component } from 'react';
import { View, Text, TouchableHighlight } from 'react-native';
export default class Apple extends Component {
render() {
return (
<View>
<Text>Apple</Text>
<TouchableHighlight onPress={this.goOrange.bind(this)}>
<Text>Go to Orange</Text>
</TouchableHighlight>
</View>
)
}
goOrange() {
console.log("go to orange");
this.props.navigator.push({ screen: 'Orange' });
}
}
app/orange. js
import React, { Component, PropTypes } from 'react';
import { View, Text, TouchableHighlight } from 'react-native';
export default class Orange extends Component {
render() {
return (
<View>
<Text>Orange</Text>
<TouchableHighlight onPress={this.goApple.bind(this)}>
<Text>Go to Apple</Text>
</TouchableHighlight>
</View>
)
}
goApple() {
console.log("go to apple");
this.props.navigator.push({ screen: 'Apple' });
}
}
Danke! Genau das habe ich gebraucht. –
Wie könnten Sie eine Animation einfügen, wenn Sie den Navigatorstatus ersetzen? – miduga
Sieh dir die Navigator-Dokumentation an: "Siehe Navigator.SceneConfigs für Standardanimationen und weitere Informationen zu Szenenkonfigurationsoptionen." - Es ist leider nur im Quellcode, nicht in der generierten Dokumentation, also müssen Sie React Native Code herunterladen (Sie bekommen es in Ihrem Projekt bereits als Abhängigkeit heruntergeladen) und schauen dort nach. –