ReactNative的TouchableHightlight组件的onHideUnderlay触发不了

我的代码是这样的:

import React, { Component } from 'react';
import { AppRegistry, StyleSheet, View, TouchableHighlight, Text } from 'react-native';

export default class LearnRN extends Component {
  
  constructor(props){
      super(props);

      this.state = {
          text:'',
      }

      this.press = this.press.bind(this);

  }
  
  press(){
        this.setState({text:'hello'});
  }

  render(){
      return (
        <View style={styles.container}>
           <TouchableHighlight onHideUnderlay={this.press}>
                 <View style={styles.button}/>
           </TouchableHighlight>
           <Text>{this.state.text}</Text>
        </View>
      );
  }
}

补充:onShowUnderlay也无法触发,但是onPress没有问题,这是为什么?

阅读 2.4k
2 个回答

应该用箭头函数
<TouchableHighlight onHideUnderlay={this.press}>
写为 <TouchableHighlight onHideUnderlay={() => this.press()}

你截图的代码应该没问题,你看看你View组件里面调用是不是出问题了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题