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