我有一个登录'场景(=初始路线)和另一个场景(不同的屏幕)称为“测试'。
”var Login = require('./Components/Login');
var Test = require('./Components/Test');
我已经向ToolbarAndroid定义了一个Logo和一个右侧的动作,点击它时应该渲染场景' Test'。目前我收到错误消息" undefined不是对象(评估' this.props.navigator.push')"
我尝试了不同的方法来导航到测试'场景但没有成功。
var ToolbarAndroid = require('ToolbarAndroid');
var QPointsAndroid = React.createClass({
_onActionSelected: function(){
this.props.navigator.push({id: 'Test'})
},
renderScene: function(route, navigator){
if ('Login' === route.id) {
return (
<View style={{flex: 1}}>
<ToolbarAndroid
title=''
actions={toolbarActions}
logo={require('image!logo')}
style={styles.toolbar}
onActionSelected={this._onActionSelected()} />
<Login
name={route.name}
navigator={navigator} />
</View>
);
} else if ('Test' === route.id) {
return (
<Test
navigator={navigator} />
);}},
render: function() {
return (
<Navigator
style={styles.container}
initialRoute={{
id: 'Login',
index: 0,
}}
renderScene ={this.renderScene} />
);}});
var toolbarActions = [
{title: 'Profile', icon: require('image!profile'), show: 'always'},
];
答案 0 :(得分:0)
我在onActionSelected行中出错了。应该看起来像这样
onActionSelected={() => {this._onActionSelected(navigator)}}
而且我必须将导航器传递给函数:
_onActionSelected: function(navigator){
console.log('check the navigator');
navigator.push({id: 'Test'});
},