尝试从不同的函数

时间:2018-05-22 12:46:46

标签: javascript reactjs react-native

我有PopupDialog组件,我试图在我的应用程序中实现,我努力使其在从函数内部调用时工作。 我的意思是,我有一个按钮,onPress道具调用一个函数,我想添加到这个函数this.popupDialog.show();,所以它也在同一个按下显示PopupDialog。但是当它试图这样做时它不能正常工作而它只会打印出我屏幕右上角的Text内的PopupDialog。但是当我试图像这样调用它时:onPress={() => this.popupDialog.show()}(没有this.functionX)一切都按预期工作。

代码:

  this.state.sumAll.map((detail) => (

    <View key={detail[0]}>            

    <PopupDialog
      ref={(popupDialog) => { this.popupDialog = popupDialog; }}
    >
      <View>
        <Text>Hello</Text>
      </View>
    </PopupDialog>


      <MapView.Marker
      key={Math.random()}
      coordinate= {
          {
              latitude: this.latIfUndefined(detail[0]),
              longitude: this.lonIfUndefined(detail[1])
          }
      }
      title={this.props.address}
      description={``}
      onPress={() => this.functionX()}
      image={require('../../assets/img/1.png')}
      /> 
    </View>
  ))

注意:上面的代码this.popupDialog.show();位于this.functionX()内且无法正常工作,只需在屏幕的右上角打印hello即可在渲染视图时。

但代码是:

  this.state.sumAll.map((detail) => (

    <View key={detail[0]}>            

    <PopupDialog
      ref={(popupDialog) => { this.popupDialog = popupDialog; }}
    >
      <View>
        <Text>Hello</Text>
      </View>
    </PopupDialog>


      <MapView.Marker
      key={Math.random()}
      coordinate= {
          {
              latitude: this.latIfUndefined(detail[0]),
              longitude: this.lonIfUndefined(detail[1])
          }
      }
      title={this.props.address}
      description={``}
      onPress={() => this.popupDialog.show();}
      image={require('../../assets/img/1.png')}
      /> 
    </View>
  ))

一切正常。问题是我需要this.functionX来调用这两个函数。无法管理它。

0 个答案:

没有答案