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 コンポーネントの右ボタンをタップして新しいシーンに移動しようとしています。
私は何が欠けていますか?
助けてくれてどうもありがとう、イジョナス。
アップデート
以下の参照を使用するというコリン・ラムゼイの提案の後、私は次の解決策を得ることができました:
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,
}}
/>
)
}
})
コリンに感謝します。