在我的index.ios.js中,我有以下内容:
renderScene(route, navigator){
return <route.component navigator={navigator} {...route.passProps}/>
}
并且
render() {
return (
<Navigator
initialRoute={{name: 'FirstPage', component: FirstPage}}
renderScene={this.renderScene}
/>
);
}
在我的FirstPage.js中,要导航到SecondPage.js:
_navigate(){
this.props.navigator.replace({
component: SecondPage,
name: 'SecondPage'
})
}
然后在我的 SecondPage.js 中,它只是在一个 div 中呈现组件。而在我的 ThirdPage.js 中:
_rowPressed(){
this.props.navigator.push({
component: FourthPage,
name: 'FourthPage',
})
}
<TouchableHighlight
onPress={() => this._rowPressed()}
>
<View>
<Text>Go to FourthPage</Text>
</View>
</TouchableHighlight>
然后在我的FourthPage.js文件中,我只是简单地写了:
<View style={styles.container}>
This is FourthPage.js
</View>
我从ThirdPage.js中获取了一个错误,错误信息如下:
Cannot read property 'push' of undefined in _rowPressed()
我似乎无法弄清楚为什么会出现这个错误,因为this.props.navigator.push在.replace和.push中都能正常工作,但现在我遇到了这个错误。如果有任何指导或见解,将不胜感激。谢谢。
push
功能 https://facebook.github.io/react-native/docs/navigator.html - azium_rowPressed
方法绑定到组件了? - azium