I find that the Facebook examples are either simplified or complicated in demonstrating how Navigator works. Based on the @ jarek-potiuk example, I created a simple application that will switch screens back and forth.
In this example, I use: 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);
application /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' }); } }
application /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' }); } }
Andrew Wei
source share