我正在为 NavigatorIOS 组件上的“onRightButtonPress”事件而苦苦挣扎。处理程序似乎没有获得 this.props.navigator 的引用。
var CBSupport = React.createClass({
_handleNextButtonPress: function() {
debugger
AlertIOS.alert("Be A Lert");
// this.props does not contain a 'navigator' property
this.props.navigator.push({
component: Login,
title: 'Login'
});
},
render: function() {
return(
<NavigatorIOS
style={styles.container}
initialRoute={{
component: Accounts,
title: 'Accounts',
rightButtonTitle: 'Add',
onRightButtonPress: this._handleNextButtonPress,
}}
/>
)
}
})
我可能做错了什么,但我试图通过点击 NavigatorIOS 组件上的右键导航到新场景。
我错过了什么?
非常感谢您的帮助,Ijonas。
更新
在 Colin Ramsay 在下面使用 refs 的建议之后,我得到了以下解决方案来为我工作:
var CBSupport = React.createClass({
_handleNextButtonPress: function() {
this.refs.nav.push({
component: Login,
title: 'Login'
});
},
render: function() {
return(
<NavigatorIOS
ref="nav"
style={styles.container}
initialRoute={{
component: Accounts,
title: 'Accounts',
rightButtonTitle: 'Add',
onRightButtonPress: this._handleNextButtonPress,
}}
/>
)
}
})
非常感谢科林。