4

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,
        }}
      />    
    )
  }
})

コリンに感謝します。

4

1 に答える 1