在NavigatorIOS中调用onRightButtonPress的函数 - React Native

Mun*_*ner 4 javascript function navigator ios react-native

我在一个反应​​原生的NavigatorIOS中使用onRightButton.我希望能够调用一个驻留在我正在推动的组件中的函数,但我无法知道如何实现它.这是一个代码示例:

this.props.navigator.push({
  component: SingleResultView,
  title: "SomeTitle",
  rightButtonIcon: require('image!mapsmarker'),
  passProps: {
    userPosition: this.props.userPosition
  },
  onRightButtonPress: () => { SingleResultView.foo(); } // NOT WORKING!
});
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Phi*_*sen 5

ref回调道具是你的朋友!https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute

  goToResults() {
    this.props.navigator.push({
      component: SingleResultView,
      title: "SomeTitle",
      rightButtonIcon: require('image!mapsmarker'),
      passProps: {
        userPosition: this.props.userPosition,
        ref: this.onResultsRef,
      },
      onRightButtonPress: () => { this._resultsView && this._resultsView.foo(); }
    });
  }

  onResultsRef(resultsViewRef) {
    this._resultsView = resultsViewRef;
  }
Run Code Online (Sandbox Code Playgroud)