2017-10-18 13 views
-2

反応したネイティブの初心者ですが、画面間を移動しようとしています...私は簡単なチュートリアルに従いましたが、残念ながら、 "To Stats Page" TouchableHighlight私はエラーが発生します:未定義はオブジェクトではありません( 'this.props.navigator.push'を評価する)。React Native問題:未定義はオブジェクトではありません(evaluationg 'this.props.navigator.push')

import React, { Component } from 'react'; 
import {AppRegistry,StyleSheet,TouchableHighlight,Navigator,Text,View} from 'react-native'; 

class Navi extends Component { 
    render() { 
    return (
     <Navigator 
     initialRoute={{ name: 'main' }} 
     renderScene={this.renderScene.bind(this)} 
     /> 
    ); 
    } 
    renderScene(route, navigator) { 
    if(route.name == 'main') { 
     return <Main navigator={navigator} /> 
    } 
    if(route.name == 'stats') { 
     return <Stats navigator={navigator} /> 
    } 
    } 
} 

export default class Main extends Component { 
    // THINK THE ERROR IS HERE 
    navigate(routeName) { 
    this.props.navigator.push({ 
     name: routeName 
    }); 
    } 
    render() { 
    return (
     <View style={styles.container}> 
     <Text style={styles.welcome}> 
      Main 
     </Text> 
     <TouchableHighlight onPress={this.navigate.bind(this, "stats")}> 
      <Text>TO STATS PAGE</Text> 
     </TouchableHighlight> 
     </View> 
    ); 
    } 
} 

class Stats extends Component { 
    render() { 
    return (
     <View style={styles.container}> 
     <Text style={styles.welcome}> 
      Stats 
     </Text> 
     <TouchableHighlight onPress={()=>{this.props.navigator.pop()}}> 
      <Text>BACK</Text> 
     </TouchableHighlight> 
     </View> 
    ); 
    } 
} 

const styles = StyleSheet.create({ 
    container: {marginTop:20,flex: 1,justifyContent: 'center',alignItems: 'center', 
    backgroundColor: '#F5FCFF',}, 
    welcome: {fontSize: 20,textAlign: 'center',margin: 10,}, 
}); 

AppRegistry.registerComponent('navi',() => Navi); 

Home Screen

:コードは以下であるホーム画面と(STATSページへのクリック時に)エラーのスクリーンショットがあり取り付けられており、(私は、エラーが発生したと考えているところにコメントを含みます) Error when touching to stats page, using expo

答えて

-1

私はそれが最高だと分かった!修正はNaviをメインではなくエクスポートする必要があります...

関連する問題