Facebook uygulamasının Navigator'ın nasıl çalıştığını gösterirken basit veya karmaşık olması gerektiğini düşünüyorum. @ Jarek-potiuk örneğine dayanarak, ekranları ileri geri değiştirecek basit bir uygulama oluşturdum. Bu örnekte
kullanıyorum
:
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/Turuncu. 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' });
}
}
Teşekkürler! Bu tam ihtiyacım olan şey. –
Navigator durumunu değiştirirken nasıl bir animasyon yerleştirdiniz? – miduga
Navigator belgelerine bakın: "Varsayılan animasyonlar ve sahne yapılandırma seçenekleriyle ilgili daha fazla bilgi için Navigator.SceneConfigs bölümüne bakın." - Ne yazık ki, kaynak kodunda değil, yalnızca oluşturulan kaynakta değil, bu nedenle React Native kodunu indirmeniz (projenizde bağımlılık olarak zaten indirmiş olursunuz) ve oraya bakın. –