开发者问题收集

为什么 onpress 函数在 React Native 中不起作用

2018-11-29
3818

类文件

 export class salon extends Component {

    constructor(props) {
    super(props);
    this.state = {
      status : true,
      };  
    }

     _toggleModal(){
     Alert.alert('hello');
     }

}

我在侧边栏中使用 navigationoptions

我在可触摸不透明度中添加了 onpress 函数,但它不仅适用于触摸

 <TouchableOpacity onPress={() =>  {this._toggleModal}}>
 </TouchableOpacity>
3个回答

您应该在构造函数上或使用中绑定您的函数。

在构造函数中:

export class salon extends Component {
    constructor(props) {
       super(props);
       this.state = {
           status : true,
       };  
       this._toggleModal = this._toggleModal.bind(this);
    }

     _toggleModal(){
     Alert.alert('hello');
     }
}

在使用中:

 <TouchableOpacity 
     onPress={() =>  {this._toggleModal.bind(this)}}>
 </TouchableOpacity>

查看 文档 了解更多信息。

itidsu
2018-11-29

您可以使用箭头函数来实现,如下所示 onPress={() => {this._toggleModal()}>

Amila Dulanjana
2018-11-29

尝试不使用箭头函数来调用你的函数,如下所示: onPress={this._toggleModal >

Leri Gogsadze
2018-11-29