import React, { StyleSheet, Component, View, PropTypes, Text, TouchableOpacity, Navigator, } from "react-native"; const screens = { Simple: require("./Simple"), AdvancedEffects: require("./AdvancedEffects"), Hearts: require("./Hearts"), Tests: require("./Tests"), }; const homeRoute = { id: "home", title: "gl-react Showcase" }; const routes = [ { id: "Simple" }, { id: "AdvancedEffects" }, { id: "Hearts" }, { id: "Tests" }, ]; const styles = StyleSheet.create({ root: { backgroundColor: "#333", flex: 1, }, navBar: { backgroundColor: "#000" }, leftButtonContainer: { }, leftButtonText: { color: "#999", paddingLeft: 6, }, title: { color: "#999", fontSize: 14 }, home: { flex: 1, marginTop: 40, }, homeLink: { padding: 20, }, homeText: { fontSize: 24, color: "#ccc", fontWeight: "bold", }, }); class Home extends Component { static propTypes = { openScreen: PropTypes.func.isRequired }; render () { const { openScreen } = this.props; return {routes.map(route => openScreen(route)}> {route.id} )} ; } } export default class App extends Component { static propTypes = {}; renderScene = (route, navigator) => { if (route.id === homeRoute.id) { return navigator.push(route)} />; } const Screen = screens[route.id]; return ; }; render () { return ( index === 0 ? null : navigator.pop()} style={styles.leftButtonContainer}> {"< BACK"} , RightButton: () => {}, Title: route => {route.title || route.id} }} /> } /> ); } }